PHP CURL 在 Linux 上的启用

33

我有一些php脚本,在一个Windows机器上的Apache服务器上运行。这些脚本使用curl,而这在php中默认是不启用的。在Windows上启用它只需要将php.ini文件中带有curl.dll文件的行取消注释即可。但由于Linux使用.so文件而非.dll文件,这种方法不行。

有没有人知道如何在运行在Linux机器上的Apache服务器上启用curl?Php已经安装了,因此我真的希望能找到一种不需要重新安装php的解决方案。提前感谢您的帮助!

编辑: 这台机器安装了openSUSE v11.3版本的Linux。我没有设置这个机器,并且通过命令行(putty)与之交互。任何帮助都将不胜感激。


1
由于这是一个配置问题,最好在超级用户或服务器故障上得到答案。但是提供更多信息,例如发行版和您尝试的内容,将有助于其他人回答您的问题。 - rhololkeolke
@user1024157 请执行 phpinfo(); - Alpha01
6个回答

75

如果还有其他像我一样从谷歌跳转到这个页面的人:

使用putty (putty.exe)登录服务器,并使用以下命令安装curl:

    sudo apt-get install php5-curl

确保在php.ini文件中启用了curl。对于我来说,它在/etc/php5/apache2/php.ini中, 如果您找不到它,则该行可能位于/etc/php5/conf.d/curl.ini中。确保该行:

    extension=curl.so

如果没有注释掉,那么重新启动 Apache,所以在 Putty 中键入以下内容:

    sudo /etc/init.d/apache2 restart

如果您想要安装curl在php5中,可以参考https://askubuntu.com/questions/9293/how-do-i-install-curl-in-php5,为了检查它是否工作正常,这个stackoverflow也许可以帮到你:Detect if cURL works?


3
测试成功后,只需添加extension=curl.so即可。 - Nickromancer
这就是了。我的apache2重启失败了,即使关闭了所有东西,所以如果可以的话,不要害怕重新启动服务器(在我的情况下,它是一个开发盒)。 - MDMoore313
谢谢,这真的很有帮助。 - Snopzer
如果您的/etc/php5/apache2/php.ini文件中没有extension=curl.so这一行,请将其添加到末尾。然后像往常一样重新启动apache2。 - Dio Phung

7
我使用了Ubuntu 12.4上的先前安装说明,并成功安装了php-curl模块(在安装WHMCS计费系统中使用):
sudo apt-get install php5-curl
sudo /etc/init.d/apache2 restart

顺便提一下,由于已经提到过,所以以下行未添加到/etc/php5/apache2/php.ini配置文件中:extension=curl.so

此外,CURL模块显示在http://localhost/phpinfo.php中。
最好的祝福。

5
如果是在Ubuntu上使用PHP 7,请尝试以下操作。
apt-get install php7.0-curl
/etc/init.d/apache2 restart

2

如果你在页面上方或下方使用了curl,但不幸的是你的HTML页面无法查看,则只需启用curl即可。

然而,为了检查php中是否启用了CURL,您需要编写以下代码:

echo 'Curl: ', function_exists('curl_version') ? 'Enabled' : 'Disabled';

使用此函数,您将知道您的CURL是否已启用,您可以通过php.ini或通过putty服务器进行操作。启用后,您需要重新启动Apache服务器。 - Raghwendra Pathak

0

php.ini 文件末尾添加此行

openssl.cafile=/opt/lampp/share/curl/curl-ca-bundle.crt

可能 PHP 无法识别 cURL 路径


此答案已被标记为低质量。如果它回答了问题,请考虑添加一些文本来解释它的工作原理。 - lmo

0

这取决于你使用的Linux发行版,但是... 你需要安装php-curl模块,然后像在Windows中一样在php.ini中启用它。 完成后,请记得重新启动Apache服务!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接