【问题标题】:Facebook needs the CURL PHP extensionFacebook 需要 CURL PHP 扩展
【发布时间】:2012-01-17 22:21:36
【问题描述】:

我正在尝试在我的 apache 服务器上运行我的第一个 facebook php 应用程序。 它给出了错误Facebook needs the CURL PHP extension.。我在 php.ini 中添加了extension=php_curl.dll 行,它在 phpStorm ide 中正常运行。 但是当我将php文件放入apache目录并手动运行服务器时,它仍然在网络浏览器中出现错误。

【问题讨论】:

  • 您必须安装扩展并在 php.ini 中启用。另外,在完成这两项操作后重新启动您的网络服务器。
  • 当我用 phpStorm ide 运行 php 时它工作正常。我已经重新启动了服务器。
  • 您是否只是取消注释 php.ini 中的行而没有检查扩展是否实际可用,例如:path/to/your/www/php/ext/php_curl.dll,如果您使用 ide,ide 可能正在使用自己的扩展,例如 path/to/your/ide/php/ext/php_curl.dll也可能没有使用相同的 php.ini 文件。
  • 我都检查过了,但没有结果
  • 另外,修改php.ini文件后必须重启apache

标签: php facebook apache


【解决方案1】:

在新的 php 页面类型中:

<?php
phpinfo();
?>

在那里检查您需要编辑的 php.ini。

Loaded Configuration File: ________ path to ini file you must edit _______

另外,使用此页面查看服务器是否认为 curl 已启用。你看到这条线了吗:

 cURL support   enabled

如果在编辑ini文件并重新启动Web服务器后没有启用它,则取决于您安装php的方式

这个guide 看起来很有希望

【讨论】:

  • 如果您使用的是 Wamp 64 位并且收到此错误,则打包的扩展实际上存在错误。 morningtime.com/kb/188。这有一个固定的 php_curl.dll
  • @Kelvin 看起来链接已经改变了一点。您能否为 wamp 64bit 提供另一个修复程序,好吗?我真的很感激,我一直在为此苦苦挣扎
  • @BujancaMihai - 我看到其他站点已更改。您也许可以在此处获得固定扩展名。滚动到底部并寻找固定的卷曲扩展。 anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows 我在这个论坛帖子中找到了这个链接。 forum.wampserver.com/read.php?2,85716 您也可以使用 32 位版本,具体取决于所有设置。我希望这对你有用。我没有对此进行测试。
【解决方案2】:

错误:

未捕获的异常 'Exception' 带有消息“Facebook 需要 CURL PHP 扩展”

解决方案:

;extension=php_curl.dll

1) 删除 php.ini 文件中的;(开头的注释)并保存。如果此行不在文件中,则添加此文件。

2) 重启应用程序 (XAMPP)

【讨论】:

    【解决方案3】:

    我也得到了错误。我试过这个命令。

    sudo apt-get install curl libcurl3 libcurl3-dev php5-curl 
    

    我的问题已经解决了。

    【讨论】:

    • 执行此操作并重新启动服务器 (service apache2 restart)。像魅力一样工作!
    【解决方案4】:

    只需要从 c:\xampp\php\php.ini 中取消注释 extension=php_curl.dll

    【讨论】:

    • @Grant Winney:我正在尝试使用 Facebook 的 PHP SDK 进行编程。我按照他们的文档进行操作,但他们的示例不起作用,并抛出了该问题标题的错误消息。我做了Yannick在上面发布的内容,这解决了问题。将 cmets 添加到原始问题的人很愚蠢,因为没有将其发布为答案。
    • 在 Linux 上使用 extension=php_curl.so。然后重启 Apache。
    • 之后很可能需要重新启动 Apache... 这为我解决了问题,或者至少让我进入了下一个例外:D
    【解决方案5】:

    Facebook API 需要 curl PHP 扩展。您需要做的就是更改 php.ini 文件中的设置。

    在文件中搜索“extension=php_curl”。通过删除它前面的分号取消注释该行。应该可以!

    【讨论】:

      【解决方案6】:

      我在 Windows 7 64 位上使用 wamp。我已经下载了固定卷曲扩展版本 php_curl-5.3.13-VC9-x64.zip 来自网址 http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/ 问题就解决了。 下载扩展时请记住 php 版本。我已经下载了这个版本,因为我使用的是 php 版本 5.3.13

      【讨论】:

        【解决方案7】:

        打开 phpini 文件并取消注释下面的 curl 扩展名。然后重新启动你的 wamp 服务器。这工作正常。

        ;extension=php_curl.dll
        

        【讨论】:

          【解决方案8】:

          我在使用 Ubuntu 16.04 LTS 和 PHP 5.6 (LEMP) 配置时遇到了同样的问题。这已通过以下命令解决。

          $ sudo apt-get install curl libcurl3 libcurl3-dev php5.6-curl

          验证扩展目录中的 Curl.so 文件 $ php -i | grep extension_dir(这将为您提供 PHP 扩展目录的路径)

          验证 curl.in 文件

          $ sudo vi /etc/php/5.6/mods-available/curl.ini

          应该是

          *; php curl模块的配置

          ;优先级=20

          extension=curl.so*

          验证在 php 中启用的 Curl

          $ php -i | grep 卷曲

          输出应该是;

          cURL 支持 => 启用

          cURL 信息 => 7.35.0

          年龄 => 3

          特点

          AsynchDNS => 是的

          CharConv => 否

          调试 => 否

          GSS-协商 => 是

          IDN => 是的

          IPv6 => 是的

          krb4 => 没有

          大文件 => 是的

          libz => 是的

          NTLM => 是的

          NTLMWB => 是的

          SPNEGO => 否

          SSL => 是的

          SSPI => 否

          TLS-SRP => 是

          协议 => dict、file、ftp、ftps、gopher、http、https、imap、imaps、ldap、ldaps、pop3、pop3s、rtmp、rtsp、smtp、smtps、telnet、tftp

          主机 => x86_64-pc-linux-gnu

          SSL 版本 => OpenSSL/1.0.1f

          ZLib 版本 => 1.2.8

          重启php5.6-fpm

          $ sudo service php5.6-fpm restart

          重启 Nginx

          $ sudo service nginx 重启

          这会起作用:)

          【讨论】:

            猜你喜欢
            • 2014-01-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-09-26
            • 1970-01-01
            • 2017-05-11
            相关资源
            最近更新 更多