以前编译php没有 –with–openssl 现在要使用到 openssl ,phpinze扩展安装,但是在make时候报错
今天找这个在网上找了大半天,最后总结应该是php版本本身的问题,错误是php编译好后,通过phpize单独添加时候报错的内容
问题: /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 http://museum.php.net/php5/php-5.2.17.tar.gz
这个是经过测试的出来的结果
安装过程: #下面是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