我正在尝试使用新的facebook api,它需要libcurl PHP。我用了
sudo apt-get install php5-curl
sudo apachectl -k restart
它不起作用。我得到了同样的错误,phpinfo()页面没有提到libcurl。
这个问题的根源可能是我从源代码(apache2,php)构建了一些工具,但后来我感到无聊因此在软件包管理器中安装了很多扩展。但我不知道如何去诊断失败点。
curl的apt-get安装确实有效,可以在
中找到/usr/lib/php5/20060613/curl.so
我认为我的很多困惑源于不知道哪些文件去哪里,以及它们有什么用途。任何帮助将不胜感激,请告诉我是否需要提供更多信息。
修改 我得到的具体错误是:
Exception: Facebook needs the CURL PHP extension.
来自
行if (!function_exists('curl_init')) {
throw new Exception('Facebook needs the CURL PHP extension.');
}
Ubuntu:9.10
PHP:5.2.13
加载配置文件:/etc/php5/apache2/php.ini
答案 0 :(得分:1)
回答问题
什么版本的Ubuntu?
什么版本的PHP?
如何设置Apache和PHP?
phpinfo()说的哪些ini文件被解析了? (应该在顶部附近)
答案 1 :(得分:1)
一般来说,将您的发行版包管理器中的软件与您自己构建的内容混合搭配并不是一个坏主意。包管理器不知道你自己构建的东西,因此可能会感到困惑。
不仅如此,而且说包管理器中的东西是否与你自己构建的东西二进制兼容?如果你自己构建它,那么至少你知道它将是兼容的。
听起来像你应该卸载扩展并自己构建它们。如果您不能或不想这样做,那么请回过头来通过您的包管理器安装apache和朋友,但我建议您耐心等待前一个选项。
答案 2 :(得分:1)
或许无法正确修改php.ini文件以加载curl扩展名?
查看你的php.ini,看看你是否有类似的行:
extension=curl.so
或者也许:
extension=/usr/lib/php5/20060613/curl.so
答案 3 :(得分:1)
打开该文件并输入以下命令:
<?php phpinfo(); ?>
保存该文件
http://localhost/info.php
)打开终端并输入以下命令:
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl php5-mcrypt
完成后打开php.ini文件(我的位于/etc/php5/apache2/php.ini)并添加此命令:extension = curl.so
使用以下命令保存文件并重启apache:
/etc/init.d/apache2 restart
来源:http://www.ivankristianto.com/os/ubuntu/howto-install-curl-in-php-apache/379/