php安装curl问题

2023-06-15,,

    这两天在服务器为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拓展已经可以正常使用。

    有时候遇到错误,一个思路走不通的话,可以换个思路,往往就是很简单的一条命令就解决了问题。

    

《php安装curl问题.doc》

下载本文的Word格式文档,以方便收藏与打印。