无法在Ubuntu 11.10上启用cURL

时间:2011-12-30 02:59:32

标签: php linux ubuntu curl

我已经安装了curl:

sudo apt-get install curl libcurl3 libcurl3-dev php5-curl

我更新了我的php.ini文件以包含:

extension=php_curl.dll

我检查curl是否与以下命令一起使用:

php -i | grep curl

我收到以下消息:

  

PHP警告:PHP启动:无法加载动态库'/usr/lib/php5/20090626+lfs/php_curl.dll' - /usr/lib/php5/20090626+lfs/php_curl.dll:无法打开共享对象file:第0行的Unknown中没有这样的文件或目录   PHP警告:PHP启动:无法加载动态库'/usr/lib/php5/20090626+lfs/sqlite.so' - /usr/lib/php5/20090626+lfs/sqlite.so:无法打开共享对象文件:否第0行的Unknown中的此类文件或目录   已解析的其他.ini文件=> /etc/php5/cli/conf.d/curl.ini,   卷曲

我还通过创建一个名为testCurl.php的文件来测试curl,该文件包含以下内容:

<?php
echo ‘<pre>’;
var_dump(curl_version());
echo ‘</pre>’;
?>

当我导航到localhost / testCurl.php时出现错误:HTTP Error 500

任何人都可以帮我卷曲吗?

3 个答案:

答案 0 :(得分:7)

你在php.ini中输错了信息

extension=php_curl.dll

在Ubuntu / Unix上

extension=php_curl.so

.so表示共享对象,这是错误消息所说的动态库。在.dll的Windows上,您可能只是混合了它。

您似乎尝试加载不存在的sqlite.so。通常,当您通过apt在Ubuntu上安装库时,您不需要更改php.ini文件,因为软件包脚本可以解决这个问题,这要归功于软件包维护者的工作。

答案 1 :(得分:1)

如果你使用Ubuntu或者有多个php.ini,你可能会遇到启用extension = php_curl.dll的问题。

很奇怪但是我使用UBUNTU遇到了这个问题。出于某种原因,它调用.dll文件,但linux使用.so文件。

首先要做的是回复phpinfo();在一个.php文件中检查加载了什么php.ini。

配置文件(php.ini)路径/etc/php/7.1/apache2 加载配置文件/etc/php/7.1/apache2/something/php.ini

因此,如果您只在一个文件中进行更改,则可能无效。

在我的情况下wet /etc/php/7.1/apache2/php.ini并且CURL以这种方式调用: ;延长= curl.dll

更改为 延长= curl.so

保存并重启apache: sudo systemctl restart apache2

答案 2 :(得分:0)

我认为从php5中删除了对sqlite2的支持,因此在当前版本的软件包中不再提供sqlite.so。你可以从natty包中手动恢复它(这对我有用):

(https://lists.ubuntu.com/archives/ubuntu-server-bugs/2011-October/065547.html)