在 Ubuntu 11.10 上启用 cURL 时出现问题

问题描述 投票:0回答:4

我已经安装了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 行未知 解析的其他 .ini 文件 => /etc/php5/cli/conf.d/curl.ini, 卷曲

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

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

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

任何人都可以帮助我让curl 工作吗?

php linux ubuntu curl
4个回答
8
投票

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

extension=php_curl.dll

在 Ubuntu/Unix 上是

extension=php_curl.so

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

看来您尝试加载不存在的

sqlite.so
。通常,当您通过 apt 在 Ubuntu 上安装库时,不需要更改 php.ini 文件,因为由于软件包维护者的工作,软件包脚本会处理这些问题。


1
投票

如果您使用 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 是这样调用的: ;扩展名=curl.dll

更改为 扩展名=curl.so

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


0
投票

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

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


0
投票

我已经使用

apt-get install php-curl

安装了 php-curl

但是

php -i | grep curl
,这个命令没有显示curl,

然后我也指定了版本

sudo apt-get install php8.1-curl
,然后就成功了

© www.soinside.com 2019 - 2024. All rights reserved.