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

感谢这位各行的无私奉献