我更新了我的ubuntu服务器并安装了新的PHP7。
我有一个使用CURL和FORK的PHP代码,并且CURL停止工作。
出现此错误:
消息:调用未定义的函数curl_init()
我发现我在/ etc - / etc / php5(旧的)中有2个用于php的文件夹,而在新的PHP中有另外的/etc/php/7.0。
当我运行info()函数时,我可以清楚地看到它使用新的7.0,其中我的所有配置都设置为默认值!
CURL停止工作,我没有检查FORK,但我猜它也被禁用了。
哦,尝试在PHP上启用CURL(将;extension=php_curl.dll
更改为extension=php_curl.dll
Call to undefined function curl_init().?)
运行包含CURL的代码时出现此错误:
PHP警告:PHP启动:无法加载动态库 '/usr/lib/php/20151012/php_curl.dll' - /usr/lib/php/20151012/php_curl.dll:无法打开共享对象文件:否 第0行的Unknown中的此类文件或目录
已启用CURL,请仔细检查 -
var_dump(_isCurl());
function _isCurl(){
return function_exists('curl_version');
}
返回true。
这是怎么发生的?怎么Ubuntu不知道自动做这个东西?最重要的是:
对此最好的解决方案是什么?
更多有用信息:
root@YHserver:/var/www/html/tools# grep -Hrv ";" /etc/php5 | grep -i "extension="
/etc/php5/mods-available/pdo_mysql.ini:extension=pdo_mysql.so
/etc/php5/mods-available/curl.ini:extension=curl.so
/etc/php5/mods-available/opcache.ini:zend_extension=opcache.so
/etc/php5/mods-available/json.ini:extension=json.so
/etc/php5/mods-available/gd.ini:extension=gd.so
/etc/php5/mods-available/mcrypt.ini:extension=mcrypt.so
/etc/php5/mods-available/mysql.ini:extension=mysql.so
/etc/php5/mods-available/pdo.ini:extension=pdo.so
/etc/php5/mods-available/mysqli.ini:extension=mysqli.so
/etc/php5/mods-available/readline.ini:extension=readline.so
/etc/php5/apache2/conf.d/pcntl.so:extension=pcntl.so
/etc/php5/apache2/conf.d/pcntl.ini:extension=pcntl.so
root@YHserver:/etc/php5/apache2# grep -Hrv ";" /etc/php/7.0 | grep -i "extension="
/etc/php/7.0/mods-available/ftp.ini:extension=ftp.so
/etc/php/7.0/mods-available/wddx.ini:extension=wddx.so
/etc/php/7.0/mods-available/pdo_mysql.ini:extension=pdo_mysql.so
/etc/php/7.0/mods-available/calendar.ini:extension=calendar.so
/etc/php/7.0/mods-available/xmlwriter.ini:extension=xmlwriter.so
/etc/php/7.0/mods-available/curl.ini:extension=curl.so
/etc/php/7.0/mods-available/sockets.ini:extension=sockets.so
/etc/php/7.0/mods-available/sysvmsg.ini:extension=sysvmsg.so
/etc/php/7.0/mods-available/tokenizer.ini:extension=tokenizer.so
/etc/php/7.0/mods-available/opcache.ini:zend_extension=opcache.so
/etc/php/7.0/mods-available/json.ini:extension=json.so
/etc/php/7.0/mods-available/gd.ini:extension=gd.so
/etc/php/7.0/mods-available/mcrypt.ini:extension=mcrypt.so
/etc/php/7.0/mods-available/fileinfo.ini:extension=fileinfo.so
/etc/php/7.0/mods-available/exif.ini:extension=exif.so
/etc/php/7.0/mods-available/shmop.ini:extension=shmop.so
/etc/php/7.0/mods-available/pdo.ini:extension=pdo.so
/etc/php/7.0/mods-available/sysvsem.ini:extension=sysvsem.so
/etc/php/7.0/mods-available/mbstring.ini:extension=mbstring.so
/etc/php/7.0/mods-available/mysqli.ini:extension=mysqli.so
/etc/php/7.0/mods-available/xmlreader.ini:extension=xmlreader.so
/etc/php/7.0/mods-available/ctype.ini:extension=ctype.so
/etc/php/7.0/mods-available/xml.ini:extension=xml.so
/etc/php/7.0/mods-available/phar.ini:extension=phar.so
/etc/php/7.0/mods-available/gettext.ini:extension=gettext.so
/etc/php/7.0/mods-available/mysqlnd.ini:extension=mysqlnd.so
/etc/php/7.0/mods-available/simplexml.ini:extension=simplexml.so
/etc/php/7.0/mods-available/readline.ini:extension=readline.so
/etc/php/7.0/mods-available/dom.ini:extension=dom.so
/etc/php/7.0/mods-available/iconv.ini:extension=iconv.so
/etc/php/7.0/mods-available/posix.ini:extension=posix.so
/etc/php/7.0/mods-available/sysvshm.ini:extension=sysvshm.so
/etc/php/7.0/mods-available/xsl.ini:extension=xsl.so
/etc/php/7.0/cli/php.ini:extension=php_curl.dll
/etc/php/7.0/apache2/php.ini:extension=php_curl.dll
看起来好像是
答案 0 :(得分:1)
正在运行
sudo apt-get dist-upgrade
解决了这个问题。