Can';t在Ubuntu Linux上安装libcurl PHP

Can';t在Ubuntu Linux上安装libcurl PHP,php,linux,ubuntu,apache2,libcurl,Php,Linux,Ubuntu,Apache2,Libcurl,我正在尝试使用新的facebook api,它需要libcurl PHP。我曾经 sudo apt-get install php5-curl sudo apachectl -k restart 但它不起作用。我得到了同样的错误,phpinfo()页面没有提到libcurl 这个问题的根源可能是我从源代码(apache2,php)构建了一些工具,但后来我厌倦了,所以用包管理器安装了很多扩展。但我不知道该如何诊断故障点 apt get install for curl绝对有效,可以在中找到 /u

我正在尝试使用新的facebook api,它需要libcurl PHP。我曾经

sudo apt-get install php5-curl
sudo apachectl -k restart
但它不起作用。我得到了同样的错误,phpinfo()页面没有提到libcurl

这个问题的根源可能是我从源代码(apache2,php)构建了一些工具,但后来我厌倦了,所以用包管理器安装了很多扩展。但我不知道该如何诊断故障点

apt get install for curl绝对有效,可以在中找到

/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

问题解答

什么版本的Ubuntu

什么版本的PHP

Apache和PHP是如何设置的

phpinfo()说什么ini文件被解析?(应靠近顶部)

问题的答案

什么版本的Ubuntu

什么版本的PHP

Apache和PHP是如何设置的


phpinfo()说什么ini文件被解析?(应该接近顶部)

一般来说,将发行版软件包管理器中的软件与您自己构建的东西混合搭配是个坏主意。包管理器对您自己构建的东西一无所知,因此可能会感到困惑

不仅如此,谁能说包管理器中的东西与您自己构建的东西是二进制兼容的呢?如果你自己构建,那么至少你知道它是兼容的


听起来你应该卸载这些扩展并自己构建它们。如果您不能或不想这样做,请返回并通过您的软件包管理器安装apache和friends,但我建议您要有耐心并选择前者。

一般来说,将发行版软件包管理器中的软件与您自己构建的软件混合使用是一个坏主意。包管理器对您自己构建的东西一无所知,因此可能会感到困惑

不仅如此,谁能说包管理器中的东西与您自己构建的东西是二进制兼容的呢?如果你自己构建,那么至少你知道它是兼容的


听起来你应该卸载这些扩展并自己构建它们。如果您不能或不想这样做,请返回并通过您的软件包管理器安装apache和friends,但我建议您耐心等待并选择前一个选项。

也许apt未能正确修改php.ini文件以加载curl扩展名

查看您的php.ini,看看是否有类似以下的行:

extension=curl.so
或者可能:

extension=/usr/lib/php5/20060613/curl.so

也许apt未能正确修改php.ini文件以加载curl扩展名

查看您的php.ini,看看是否有类似以下的行:

extension=curl.so
或者可能:

extension=/usr/lib/php5/20060613/curl.so
要检查是否安装了php curl,请执行以下步骤:
  • 在web服务器中创建一个文件(在Ubuntu中它将位于/var/www文件夹中),命名为info.php
  • 打开该文件并键入以下命令:

    <?php phpinfo(); ?>
    
    sudo apt-get install curl libcurl3 libcurl3-dev php5-curl php5-mcrypt
    
    /etc/init.d/apache2 restart
    
  • 完成后,打开php.ini文件(我的文件位于/etc/php5/apache2/php.ini)并添加以下命令:extension=curl.so

  • 保存文件并使用以下命令重新启动apache:

    <?php phpinfo(); ?>
    
    sudo apt-get install curl libcurl3 libcurl3-dev php5-curl php5-mcrypt
    
    /etc/init.d/apache2 restart
    
  • 再次查看PHP信息页面,您会发现安装了PHP-CURL
  • 就这样

  • 来源:

    要检查是否安装了php curl,请执行以下步骤:
  • 在web服务器中创建一个文件(在Ubuntu中它将位于/var/www文件夹中),命名为info.php
  • 打开该文件并键入以下命令:

    <?php phpinfo(); ?>
    
    sudo apt-get install curl libcurl3 libcurl3-dev php5-curl php5-mcrypt
    
    /etc/init.d/apache2 restart
    
  • 完成后,打开php.ini文件(我的文件位于/etc/php5/apache2/php.ini)并添加以下命令:extension=curl.so

  • 保存文件并使用以下命令重新启动apache:

    <?php phpinfo(); ?>
    
    sudo apt-get install curl libcurl3 libcurl3-dev php5-curl php5-mcrypt
    
    /etc/init.d/apache2 restart
    
  • 再次查看PHP信息页面,您会发现安装了PHP-CURL
  • 就这样


  • 来源:

    你说的“同样的错误”是什么意思?你收到了什么错误信息?应该在:superuser.com上询问。如果人们觉得它绝对属于那里,它可以迁移到那里,但它显然与编程有关,所以我可以在其中任何一个上看到。你说的“相同错误”是什么意思?你收到了什么错误信息?应该在:superuser.com上询问。如果人们觉得它绝对属于那里,它可以迁移到那里,但它显然与编程有关,所以我可以在其中任何一个上看到它。这就是我的想法,也是我最终的求助方式。如果只是配置问题的话,我希望能找到一条捷径:)@FranticPedantic:可能是个好主意。不过,别误会我的意思,在这种情况下,这可能只是一个配置问题(其他人肯定比我更有资格诊断),但我认为你最好以同样的方式构建所有东西,然后你知道你在处理什么。这就是我的想法,也是我最终的求助方式。如果只是配置问题的话,我希望能找到一条捷径:)@FranticPedantic:可能是个好主意。不过,别误会我的意思,在这种情况下,这可能只是一个配置问题(其他人肯定比我更有资格诊断),但我认为你最好以同样的方式构建所有东西,然后你知道你在处理什么。其中一些问题最好作为评论,由于他们没有对问题添加任何答案,因此这些问题中的一些最好作为评论提出,由于他们没有真正添加问题的任何答案,因此包创建了以下ini文件:/etc/php5/conf.d/curl.ini,其中只包含以下行:extension=curl.so包创建了以下ini文件:/etc/php5/conf.d/curl.ini,其中只包含