这两天在服务器为php安装curl拓展是遇到一个问题。很是纠结了一下...
系统是centos 6.4 64位系统,php版本5.3.3,因需要安装curl拓展,但是使用5.3.3的源码包安装curl拓展时make报错:/php-5.3.3/ext/curl/interface.c:319: 警告:初始化丢弃了指针目标类型的限定
/php-5.3.3/ext/curl/interface.c: 在函数‘curl_write’中:
/php-5.3.3/ext/curl/interface.c:930: 错误:‘zend_fcall_info’没有名为‘object_ptr’的成员
/php-5.3.3/ext/curl/interface.c: 在函数‘curl_progress’中:
/php-5.3.3/ext/curl/interface.c:1006: 错误:‘zend_fcall_info’没有名为‘object_ptr’的成员
/php-5.3.3/ext/curl/interface.c: 在函数‘curl_read’中:
/php-5.3.3/ext/curl/interface.c:1080: 错误:‘zend_fcall_info’没有名为‘object_ptr’的成员
/php-5.3.3/ext/curl/interface.c: 在函数‘curl_write_header’中:
/php-5.3.3/ext/curl/interface.c:1157: 错误:‘zend_fcall_info’没有名为‘object_ptr’的成员
make: *** [interface.lo] 错误 1
--------------------------------------------
后使用php5.2.17版本源码包安装了curl拓展。
#cd php-5.2.17/ext/curl
#/usr/local/php/bin/phpize
#./configure --with-curl=/usr/local/curl/ --with-php-config=/usr/local/php/bin/php-config
#make
#make test
#make install
然后在php.ini文件添加:
【curl】
extension = "curl.so"
---------------------------------------------------
但是使用php -v查看是发现如下报错:
PHP Warning: PHP Startup: curl: Unable to initialize module
Module compiled with module API=20060613
PHP compiled with module API=20090626
These options need to match
in Unknown on line 0
PHP Warning: PHP Startup: curl: Unable to initialize module
Module compiled with module API=20060613
PHP compiled with module API=20090626
These options need to match
in Unknown on line 0
PHP 5.3.3 (cli) (built: Jul 12 2013 20:35:47)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
错误信息是说php版本和模块版本不兼容,然后就一直在查找资料怎样match。尝试多种方法无解后,无意看到国外一个网站上写的"yum install xxx",在自己服务器尝试yum install php-curl后,再次使用php -v已经没有上述错误了。
之后重启nginx和php,curl拓展已经可以正常使用。
有时候遇到错误,一个思路走不通的话,可以换个思路,往往就是很简单的一条命令就解决了问题。
本文出自 “叶落花开” 博客,请务必保留此出处http://linus1521.blog.51cto.com/1216391/1431515
原文地址:http://linus1521.blog.51cto.com/1216391/1431515