【问题标题】:php can't load CURL in Windows 7 64-bitphp 无法在 Windows 7 64 位中加载 CURL
【发布时间】:2013-02-06 10:46:23
【问题描述】:

所以我尝试了所有可以在网上找到的解决方案,但似乎没有任何效果。我正在尝试启动我的第一个 Facebook 应用程序。我正在运行 Apache 2.4。我手动将 PHP 5.4.11 安装到 C:\php。我更新了 C:\php\php.ini 将 extension_dir 更改为

extension_dir = "c:\php\ext"

并去掉前面的分号

extension=php_curl.dll

我还在 C:\Windows、C:\Windows\System32、C:\php、C:\php\ext、C:\Apache24 和 C:\Apache24 中添加了 libeay32.dllssleay32.dll \斌。所有这些目录都在 PATH 中。当我运行 phpinfo() 时,那里根本没有列出 CURL。在所有更改之后,我已经停止并重新启动了 Apache。没有运气。我仍然收到错误

Fatal error:
Uncaught exception 'Exception' with message 
'Facebook needs the CURL PHP extension.' in C:\Users\...\sdk\src\base_facebook.php:19 
Stack trace: 
#0 C:\Users\...\sdk\src\facebook.php(18): require_once() 
#1 C:\Users\...\index.php(46): require_once('C:\Users\Jew\Do...') 
#2 {main} thrown in C:\Users\...\sdk\src\base_facebook.php on line 19

编辑 #1:
另外,我没有使用 WAMP 服务器。

编辑 #2:
我将 mod_ssl 添加到 httpd.conf,如下所示: LoadModule ssl_module 模块/mod_ssl.so

现在phpinfo() 显示

SSL: Supported

OpenSSL support: disabled (install ext/openssl)

编辑#3: 我刚刚在我的 Apache error.log 中发现了以下错误。

PHP Warning:  PHP Startup: Unable to load dynamic library 'c:\\php\\ext\\php_curl.dll' - %1 is not a valid Win32 application.\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'c:\\php\\ext\\php_openssl.dll' - %1 is not a valid Win32 application.\r\n in Unknown on line 0

编辑#4: 我尝试过使用 mod_ssl,但 apache 日志给出的错误与加载 curl 时的错误相同。我已经把所有的东西都拿出来了。

我也尝试过使用来自 anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for 的 php_curl.dll 的 5.4.13 版本-windows 以及 PHP 5.4.11 线程安全版本附带的原始版本。

【问题讨论】:

  • 启动时有错误吗? php_curl.dll 是否存在于扩展目录中?
  • 启动时没有错误。 php_curl.dll 位于 C:\php\ext 中。此外,该 dll 是来自anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows 的 5.4.13 版本
  • 您确定您编辑了正确的php.ini,它显示在phpinfo() 上?
  • phpinfo() 显示Configuration File (php.ini) Path: C:\WindowsLoaded Configuration File: C:\php\php.ini。我实际上编辑了它们。正确的编辑是C:\php\php.ini,对吗?
  • 你说的是mod_ssl.so.so 文件是 Linux 的动态链接库。你确定你使用的是.dll Windows 文件吗?

标签: php facebook apache curl


【解决方案1】:

总结一下(如果我没有错过任何细节的话)你有这个:

  • PHP 版本 5.4.11,32 位
  • php_curl.dll 版本 5.4.13,64 位

那是行不通的。鉴于您有一台 64 位机器,我建议您也使用 anindya.com 的 PHP 版本,以便 PHP 和 curl 匹配。在此类站点上,您还可以找到 64 位 Apache 版本。

或者,使用 32 位版本的所有内容。

【讨论】:

  • 我明白你的意思。我现在正在从 anindya.com 下载 php-5.4.11-Win32-VC9-x64.zip,所以我们将看看它是如何进行的。最初我没有使用 anindya.com 的经验,也不知道它是否值得信赖。如果这行得通,我一定会给你功劳。
  • 别忘了运行 64 位 PHP 需要 64 位 Apache。
  • 我已经在下载它了。此外,它有效!我现在觉得自己很愚蠢,但至少它起作用了。现在我有一大堆旧的和错误的东西要从我的系统中删除,所以我不会感到困惑。谢谢。你是英雄。
【解决方案2】:

要在 64 位 W7 上使用 Apache 安装 32 位 PHP Curl,您可以尝试将 php_curl.dll、libeay32.dll 和 ssleay32.dll 复制到 C:\Windows\SysWOW64。

【讨论】:

    猜你喜欢
    • 2014-05-27
    • 2011-04-25
    • 2012-04-18
    • 2012-10-25
    • 2016-11-28
    • 2011-01-07
    • 2019-10-09
    • 1970-01-01
    • 2017-06-08
    相关资源
    最近更新 更多