PHP 启动:无法加载动态库 `curl.so` Ubuntu

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/40356582/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-26 02:09:23  来源:igfitidea点击:

PHP Startup: Unable to load dynamic library `curl.so` Ubuntu

phpapachecurlubuntu-14.04php-extension

提问by HADI

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/curl.so' - /usr/lib/php/20131226/curl.so: undefined symbol: zend_unset_property in Unknown on line 0

PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php/20131226/curl.so' - /usr/lib/php/20131226/curl.so:未定义符号:第 0 行未知中的 zend_unset_property

I am using Ubuntu 14.04 LTS and PHP v5.6

我使用的是 Ubuntu 14.04 LTS 和 PHP v5.6

There are other versions in same machine php5and php7but php5.6has been enabled. I tried to install cURL by

在同一台机器上还有其他版本php5php7php5.6已启用。我尝试通过以下方式安装 cURL

sudo apt-get install php5.6-curl

Now I am getting

现在我得到

Unable to load dynamic library curl.so

无法加载动态库 curl.so

After running php -i | grep iniI get the following

运行后php -i | grep ini我得到以下信息

root@ubuntu:/etc/php/5.6/apache2# php -i | grep ini
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/curl.so' - /usr/lib/php/20131226/curl.so: undefined symbol: zend_unset_property in Unknown on line 0
Configuration File (php.ini) Path => /etc/php/5.6/cli
Loaded Configuration File => /etc/php/5.6/cli/php.ini
Scan this dir for additional .ini files => /etc/php/5.6/cli/conf.d
Additional .ini files parsed => /etc/php/5.6/cli/conf.d/10-mysqlnd.ini,
/etc/php/5.6/cli/conf.d/10-opcache.ini,
/etc/php/5.6/cli/conf.d/10-pdo.ini,
/etc/php/5.6/cli/conf.d/15-xml.ini,
/etc/php/5.6/cli/conf.d/20-calendar.ini,
/etc/php/5.6/cli/conf.d/20-ctype.ini,
/etc/php/5.6/cli/conf.d/20-curl.ini,
/etc/php/5.6/cli/conf.d/20-dom.ini,
/etc/php/5.6/cli/conf.d/20-exif.ini,
/etc/php/5.6/cli/conf.d/20-fileinfo.ini,
/etc/php/5.6/cli/conf.d/20-ftp.ini,
/etc/php/5.6/cli/conf.d/20-gettext.ini,
/etc/php/5.6/cli/conf.d/20-iconv.ini,
/etc/php/5.6/cli/conf.d/20-json.ini,
/etc/php/5.6/cli/conf.d/20-mbstring.ini,
/etc/php/5.6/cli/conf.d/20-mysql.ini,
/etc/php/5.6/cli/conf.d/20-mysqli.ini,
/etc/php/5.6/cli/conf.d/20-pdo_mysql.ini,
/etc/php/5.6/cli/conf.d/20-phar.ini,
/etc/php/5.6/cli/conf.d/20-posix.ini,
/etc/php/5.6/cli/conf.d/20-readline.ini,
/etc/php/5.6/cli/conf.d/20-shmop.ini,
/etc/php/5.6/cli/conf.d/20-simplexml.ini,
/etc/php/5.6/cli/conf.d/20-sockets.ini,
/etc/php/5.6/cli/conf.d/20-sysvmsg.ini,
/etc/php/5.6/cli/conf.d/20-sysvsem.ini,
/etc/php/5.6/cli/conf.d/20-sysvshm.ini,
/etc/php/5.6/cli/conf.d/20-tokenizer.ini,
/etc/php/5.6/cli/conf.d/20-wddx.ini,
/etc/php/5.6/cli/conf.d/20-xmlreader.ini,
/etc/php/5.6/cli/conf.d/20-xmlwriter.ini,
/etc/php/5.6/cli/conf.d/20-xsl.ini
user_ini.cache_ttl => 300 => 300
user_ini.filename => .user.ini => .user.ini
init_command_executed_count => 0
init_command_failed_count => 0
com_init_db => 0
Classes => AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException

And this is the actual warning

这是实际的警告

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/curl.so' - /usr/lib/php/20131226/curl.so: undefined symbol: zend_unset_property in Unknown on line 0

PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php/20131226/curl.so' - /usr/lib/php/20131226/curl.so:未定义符号:第 0 行未知中的 zend_unset_property

Also checked that cURL isn't working. Any kind of help is highly appreciated.

还检查了 cURL 不起作用。任何形式的帮助都受到高度赞赏。

采纳答案by gdfgdfg

Update php5.6(-common) to a newer version. This can be done using apt-get update && apt-get upgrade. You have just updated php5.6-curl to the latest version but it depends on a newer php5.6.

将 php5.6(-common) 更新到较新的版本。这可以使用apt-get update && apt-get upgrade. 您刚刚将 php5.6-curl 更新到最新版本,但这取决于更新的 php5.6。

回答by Luciano

Same issue on php7. Just did a apt-get dist-upgradeand now the warning is gone and curl works properly. Hope it helps!

php7 上同样的问题。刚刚做了一个apt-get dist-upgrade,现在警告消失了,curl 正常工作。希望能帮助到你!

回答by Ferdinand Fatal

If anyone is facing the same Problem with php 7.0. I removed the old "curl" with sudo apt-get remove "curl"and installed the Version for php 7.0 with sudo apt-get install php7.0-curl.

如果有人在使用 php 7.0.0 时遇到同样的问题。我删除了旧的“curl”sudo apt-get remove "curl"并使用 .php 安装了 php 7.0 版本sudo apt-get install php7.0-curl

The Message is now gone and everything is working fine.

消息现在消失了,一切正常。