如何在源码包编译安装的 LEMP 环境下开启 OpenSSL 功能

0
PHP Nginx C/C++ OpenSSL Go 6668 次浏览

Hello,大家好!我是——邪恶君子!

今天,给大家分享一下解决源码包编译安装 LEMP 环境下开启 OpenSSL 功能问题的过程。前几天,在访问页面时,突然报错,要求开启 openssl 功能。那怎么办呢,首先想到的是 yum 安装,但是,安装后还是没解决,因为 LEMP 的环境是源码包编译安装的,所以,还需要编译安装 openssl。

经过邪恶不懈的努力,终于找到了解决办法,而且真的成功了,下面就给大家分享一下!

首先,要确保 LEMP 环境是源码包编译安装的,并且要清楚 PHP 的安装目录在哪里。

其次,可以通过 yum 源的方式或者源码包编译安装 OpenSSL、OpenSSL-devel 两个包。

然后,进入到 PHP 解压出来的目录里面,我这里的目录是 PHP-5.4.24。在 PHP 目录下,会有一个 ext 的扩展目录,进入里面,找到并进入 openssl 的目录。这时,我们所在的目录是:/root/php-5.4.24/ext/openssl

这个目录下会有如下文件,看图:

 

然后,执行 /usr/local/php5/bin/phpize 命令(在执行前要确保已安装 m4 和 autoconf 两个工具,否则会报错)。

注意:这里是我的phpize路径,根据自己的安装路径执行;如果找不到,使用 whereis phpize 查找。如果执行时报错无法找到 config.m4 文件,那么就把目录下面的 config0.m4 重命名 config.m4,因为 config0.m4就是config.m4 的模版。

如果命令成功执行完毕,那么目录下面就会自动多出个 configure 文件,这时,只需要编译安装就行了。过程如下:

# ./configure --with-openssl --with-php-config=/usr/local/php5/bin/php-config
# make && make install

耐心等候,安装完成后,会在当前的modules目录下面多出一个openssl.so文件;然后在php.ini配置文件最后面加上如下一行内容:

extension=openssl.so

然后,重启nginx服务和php-fpm,就可以了!

至此,在源码编译安装LNMP环境下开启openssl功能成功解决!


如果有在操作中遇到啥问题,可以留言交流一下,共同学习,共同进步!

Personal Home Page:http://linux.cn/space/16475

请尽量让自己的答案能够对别人有帮助

4个答案

默认排序 按投票排序