linux php7开启openssl
1、我的源码在 /root/sh-1.5.5-centos/php-7.0.12 ,安装位置在 /alidata/server/php, php.ini 在/alidata/server/php/etc下。如果没有php.ini需要把源码中的配置文件 php.ini-development 或php.ini-production改名成php.ini并放在lib下。
2、进入openssl的扩展目录 :/root/sh-1.5.5-centos/php-7.0.12/ext/openssl
3、运行phpize
/alidata/server/php/bin/phpize
4、执行安装
./configure --with-openssl --with-php-config=/alidata/server/php/bin/php-config
make&&make install
5、过程中可能出现libssl找不到,执行下面的命令再重新执行4、执行安装
yum install openssl
yum install openssl-devel
6、执行安装后,会提示在某个目录生成.so文件,我生成的位置在 /alidata/server/php/lib/php/extensions/no-debug-non-zts-20151012// 下
Installing shared extensions: /alidata/server/php/lib/php/extensions/no-debug-non-zts-20151012/
7、打开php.ini
vi /alidata/server/php/etc/php.ini
添加下面两句话
extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/" extension=openssl.so
8、重启php即可。
出现过的问题
1:如果出现Cannot find config.m4.在执行phpize时,一定要在需要扩展编译的PHP模块目录中进行/alidata/server/php/bin/phpize 这样才不会报错。
2:编译成功获得openssl.so,但是php -m并没有看到新增了openssl扩展,而且php -v发现报错了
PHP Startup: Invalid library (maybe not a PHP library) 'openssl.so' in Unknown on line 0
这个的解决方案在第二个参考链接中,大概原因是openssl模块已经加载过了,最后我解决问题的命令是这样的,其实就是把4的命令倒过来
./configure --with-php-config=/alidata/server/php/bin/php-config --with-openssl
参考链接
http://blog.csdn.net/edu_enth/article/details/60577100
http://blog.csdn.net/martin2350/article/details/7729200
感谢这位各行的无私奉献