在 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