CentOS 6.3 x64 PHP 5.2.6 扩展安装OpenSSL出错的解决方法

以前编译php没有 –with–openssl 现在要使用到 openssl ,phpinze扩展安装,但是在make时候报错

今天找这个在网上找了大半天,最后总结应该是php版本本身的问题,错误是php编译好后,通过phpize单独添加时候报错的内容

推荐阅读:

生产环境实用之LNMP架构的编译安装+SSL加密实现

LNMP 全功能编译安装 for CentOS 6.3笔记

CentOS 6.3 安装LNMP (PHP 5.4,MyySQL5.6)

在部署LNMP的时候遇到Nginx启动失败的2个问题

Ubuntu安装Nginx php5-fpm MySQL(LNMP环境搭建)

《细说PHP》高清扫描PDF+光盘源码+全套教学视频

问题
/usr/local/src/php-5.2.6/ext/openssl/openssl.c:229: error: expected specifier-qualifier-list before ‘LHASH’
/usr/local/src/php-5.2.6/ext/openssl/openssl.c:410: error: expected declaration specifiers or ‘…’ before ‘LHASH’
/usr/local/src/php-5.2.6/ext/openssl/openssl.c: In function ‘php_openssl_config_check_syntax’:
    /usr/local/src/php-5.2.6/ext/openssl/openssl.c:416: error: ‘config’ undeclared (first use in this function)
    /usr/local/src/php-5.2.6/ext/openssl/openssl.c:416: error: (Each undeclared identifier is reported only once
    /usr/local/src/php-5.2.6/ext/openssl/openssl.c:416: error: for each function it appears in.)
    /usr/local/src/php-5.2.6/ext/openssl/openssl.c: In function ‘add_oid_section’:
    /usr/local/src/php-5.2.6/ext/openssl/openssl.c:435: error: ’struct php_x509_request’ has no member named ‘req_config’
/usr/local/src/php-5.2.6/ext/openssl/openssl.c:439: error: ’struct php_x509_request’ has no member named ‘req_config’ 

解决思路

php5.2.5
 php5.2.6
 php5.2.8
php5.3.0

php安装好后在独立安装openssl扩展会有问题,推荐使用php5.2.17
 wget

这个是经过测试的出来的结果

安装过程
#下面是php的安装目录
/usr/local/php5/bin/ 

#切换到php安装目录的 etx/openssl目录
cd /php-5.2.17/ext/openssl 

#查看openssl目录下有个config0.m4,把config0.m4改名为config.m4。
cp config0.m4 config.m4 

#依次执行:
    /usr/local/php5/bin/phpize 

./configure –with-openssl –with-php-config=/usr/local/php5/bin/php-config 

make && make install 

#然后找到php.ini所在位置 打开 extension_dir(如果没有则自行添加), 同时添加 extension = “openssl.so” 

#重启服务器 即可 

#openssl 查看方法:
    /usr/local/php5/bin/php -m |grep openssl

OpenSSL 的详细介绍请点这里
OpenSSL 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/51555635e0b09386bcab1259517b6590.html