在 Ubuntu 11.10 上启用 cURL 时遇到问题

Posted

技术标签:

【中文标题】在 Ubuntu 11.10 上启用 cURL 时遇到问题【英文标题】:Trouble Enabling cURL on Ubuntu 11.10 【发布时间】:2012-01-30 08:04:01 【问题描述】:

我已经安装了 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:无法打开共享对象文件:在第 0 行的未知中没有这样的文件或目录 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

谁能帮我让 curl 工作?

【问题讨论】:

这不应该是服务器故障吗? 显然是服务器故障问题。 sudo apt-get.dll?也许应该是:extension=curl.so SO上开发环境相关的问题可以问。 我应该将此问题添加到服务器故障以获得更好的答案吗?抱歉,我在错误的网站上发布了我对此很陌生。 【参考方案1】:

您在 php.ini 中输入了错误的信息

extension=php_curl.dll

在 Ubuntu/Unix 上

extension=php_curl.so

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

您似乎尝试加载不存在的sqlite.so。通常,当您通过 apt 在 Ubuntu 上安装库时,您不需要更改 php.ini 文件,因为包维护人员的工作是由包脚本处理的。

【讨论】:

您不应该更改它,而是将其注释掉。还要删除启动 php.ini 时出现的其他错误。 php5-curl 扩展会自行配置,它应该可以正常工作。否则你需要了解发生了什么。 “仍然不起作用”仍然没有多说。我回答的更多是评论和一些一般信息。我只能这么说。【参考方案2】:

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

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

首先要做的是 echo phpinfo();在 .php 文件中检查正在加载的 php.ini。

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

因此,如果您只在一个文件中进行更改,它可能不会产生正确的效果。

在我的情况下,/etc/php/7.1/apache2/php.ini 和 CURL 是这样调用的: ;extension=curl.dll

更改为 extension=curl.so

保存并重启apache: sudo systemctl 重启 apache2

【讨论】:

【参考方案3】:

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

从这里下载旧包:http://packages.ubuntu.com/natty-updates/php5-sqlite 提取 sqlite.so 将 sqlite.so (+pdo_sqlite.so) 移动到 /usr/lib/php5/20090626+lfs/ 将文件权限更改为 root:root

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

【讨论】:

以上是关于在 Ubuntu 11.10 上启用 cURL 时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

在 ubuntu 11.10 上安装 GCC 4.3.4 时出错

在VirtualBox4.1.10安装了Ubuntu 11.10,怎么实现Ubuntu 11.10与主机上的文件共享?

如何:在 Ubuntu 11.10 上安装 Imagick(用于 php)

Rails 3.1 在 Ubuntu 11.10 上使用 Socket.io/Juggernaut

使用 ubuntu 11.10 在 wt 中编译刽子手示例时出错

ubuntu 11.10安装tar.gz文件。遇到问题