举个栗子:本次安装openssl拓展
一、扩展库检查
1、找到php安装目录
find / -name php
在/usr/local/php
2、进入拓展库检查ssh2是否存在
/usr/local/php/lib/php/extensions
再ls 进入你先对应的拓展库位置
cd /no-debug-non-zts-20160303
不存在openssl
3、下载openssl源代码
输入yum install openssl
已安装最新版本
4、打开php.ini查看openssl是否开启
进入/usr/local/php/etc
vi php.ini
这里居然有.dll格式实际是windows的动态链接库格式
而我们需要的开启的是openssl.so
尝试去掉注释,返回查看php -v显示版本信息
果然有错。。(不过拓展库中现在本来就没有openssl)
所以在不理上面的dll文件
在下面加extension=openssl.so
5、找到你的PHP源代码目录
忘了在哪,用find / -name php
我的在/usr/local/src/php-7.1.24/
进入cd ext在进入openssl目录
6、运行php安装目录下的phpize文件
这时候会在extension目录下生成相应的configure文件
/usr/local/php/bin/phpize
执行后发现
显示Cannot find config.m4
输入ls
发现实际有个config0.m4,感觉挺狗贼的!将config0改成config
再执行,成功!
成功后将在/usr/local/php/bin/下生成一个php-config文件**(不用操作)**
7、运行配置configure
/configure --with-php-config=/usr/local/php/bin/php-config
(注意!!该命令要在源代码命令下执行,我的是/usr/local/src/php-7.1.24/ext/openssl)
如果你的服务器上只是装了一个版本的php则不需要添加–with-php-config 。后面的参数只是为了告诉phpize要建立基于哪个版本的扩展。
配置成功!
which php 查看正在运行的命令
whereis php 查看安装路径的命令
8、编译及安装模块
make && make install
安装成功!
9、查看拓展库openssl及验证
*
拓展库openssl.so已生成
再提醒一次!没注释掉extension=php_openssl.dll的记得注释,并且添加extension=openssl.so
圆满完成!!
记得重新加载下服务器
service nginx reload
拓展:
reload:不间断服务重启,就像一张网页上面的刷新按钮一样。
restart:先stop 再 start,就像关闭浏览器再打开一样。