Home >Backend Development >PHP Tutorial >php编译openssl模块的方法

php编译openssl模块的方法

WBOY
WBOYOriginal
2016-06-13 12:11:531488browse

php编译openssl模块的步骤

php编译openssl模块的步骤

最近我们打算在php框架中使用composer来管理依赖关系,但是在执行composer的安装命令时(如下),发现系统提示没有安装openssl扩展类库。

安装composer命令:

sudocurl -s https://getcomposer.org/installer | sudo php

异常如下:

Some settings onyour machine make Composer unable to work properly.

Make sure thatyou fix the issues listed below and run this script again:

The opensslextension is missing, which means that secure HTTPS transfers areimpossible.

If possible youshould enable it or recompile php with --with-openssl



看到这个异常,应该是我的php在编译的过程中没有增加-with-openssl选项造成的。但是在网上搜索相关问题时,发现我们不需要重新编译php环境,可以借助phpize来只编译openssl.so文件,并把该文件添加到php.ini文件中的。

1.环境

1)操作系统:

Linuxubuntu 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014x86_64 x86_64 x86_64 GNU/Linux

2)php源码目录:

/home/wuguowei/software/php-5.5.14_source

3)php编译后的目录:

/home/wuguowei/software/php5.5

2.步骤

#从源码目录拷贝openssl目录到编译后的目录文件中

sudocp -r /home/wuguowei/software/php-5.5.14_source/ext/openssl /home/wuguowei/software/php5.5/include/php/ext

#进入php编译后的目标文件中

cd/home/wuguowei/software/php5.5/include/php/ext

#依次执行如下代码

/home/wuguowei/software/php5.5/bin/phpize

./configure--with-openssl–with-php-config=/home/wuguowei/software/php5.5/bin/php-config

make&& make install

#找到php.ini文件(通常在/etc/php.in)中的“DynamicExtensions”的内容,在末尾添加上“extension= openssl.so”

#重启php服务器即可

#查看编译后的openssl的方法

php-i |grep 'openssl'

正确的结果如下:

[email protected]:/home/wuguowei/software/composer#php -i |grep openssl

openssl

OLDPWD=> /home/wuguowei/software/php5.5/include/php/ext/openssl

_SERVER["OLDPWD"]=> /home/wuguowei/software/php5.5/include/php/ext/openssl



#查看php命令在哪儿的命令

whereis php

which php

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn