【问题标题】:Enable cURL in Windows 10在 Windows 10 中启用 cURL
【发布时间】:2019-04-08 19:17:42
【问题描述】:

我已经在我的笔记本电脑中设置了本地服务器(Windows 10 Home Single Language 64 位版本 1803)。

我已经下载并手动安装了apache24php7MySQLphpMyAdminwordpress,请关注tutorial

我正在尝试启用 cURL,因此在 php.ini 文件中我已更改

;extension=curl

extension=curl

我已经重新启动了 apache 服务器。之后我在 localhost/curl_enable.php 运行以下代码来检查是否启用了 cURL。

<?php
 echo 'Curl: ', function_exists('curl_version') ? 'Enabled' . "\xA" : 'Disabled' . "\xA";
 ?>

但它仍然显示

Curl: Disabled

所以我错过了任何一步。如何在我的系统中启用 cURL?

【问题讨论】:

    标签: php curl windows-10 localhost


    【解决方案1】:

    我在使用 wamp 3.1.9、php 7.3.7 时遇到了同样的问题

    解决方案是替换 ext 文件夹中的 php_curl.dll 使用以前 PHP 7.3.1 版本的文件。

    【讨论】:

      【解决方案2】:

      以下是在 Windows 上启用 curl 的步骤:

      ...
      ; Directory in which the loadable extensions (modules) reside.
      ; http://php.net/extension-dir
      ; extension_dir = "./"
      ; On windows:
      extension_dir = "C:\PathToMyPhp\ext"
      
      ...
      
      extension=php_curl.dll
      
      ...
      
      [curl]
      ; A default value for the CURLOPT_CAINFO option. This is required to be an
      ; absolute path.
      curl.cainfo = C:\PathToMyFile\cacert.pem
      

      1 - 确保您的 extension_dir 指向 php 扩展目录。

      2 - 取消注释或添加扩展名 .dll 名称。

      这里是 php 扩展的正确语法:php_nameOfTheExtension.dll

      .dll 放在php 的扩展目录下,否则必须放在这里,以防第三方下载。

      3 - cacert.pem 是可选的,用于 SSL 事务。

      在这里下载:https://curl.haxx.se/docs/caextract.html

      4 - 使用 phpinfo() 检查 curl 是否在列表中并检查配置。

      5 - 如果出现错误,检查 Apache 的 error.log 和 access.log

      编辑 1:

      6 - 我忘记了:将 php 目录的路径添加到 .dll 依赖项的 Windows 环境 PATH 变量中。

      这里的问题/回应: Enable CURL on Windows For PHP5.6.4

      编辑 2: 这是文件的路径:

      取决于 MySQL 安装和版本

      C:\Program Files\MySQL\MySQL Server 8.0\bin\libeay32.dll

      C:\Program Files\MySQL\MySQL Server 8.0\bin\ssleay32.dll

      取决于你的 php 目录

      C:\php7\libssh2.dll

      编辑 3:

      使用正确语法的扩展配置示例取自 PHP5,但也适用于 PHP7:

      ; Windows Extensions
      ; Note that ODBC support is built in, so no dll is needed for it.
      ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+)
      ; extension folders as well as the separate PECL DLL download (PHP 5+).
      ; Be sure to appropriately set the extension_dir directive.
      ;
      ;extension=php_bz2.dll
      extension=php_curl.dll
      extension=php_fileinfo.dll
      ;extension=php_ftp.dll
      extension=php_gd2.dll
      ;extension=php_gettext.dll
      ;extension=php_gmp.dll
      extension=php_intl.dll
      ;extension=php_imap.dll
      ;extension=php_interbase.dll
      ;extension=php_ldap.dll
      extension=php_mbstring.dll
      extension=php_exif.dll      ; Must be after mbstring as it depends on it
      extension=php_mysqli.dll
      ;extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client
      ;extension=php_odbc.dll
      extension=php_openssl.dll
      ;extension=php_pdo_firebird.dll
      extension=php_pdo_mysql.dll
      ;extension=php_pdo_oci.dll
      extension=php_pdo_odbc.dll
      ;extension=php_pdo_pgsql.dll
      extension=php_pdo_sqlite.dll
      ;extension=php_pgsql.dll
      ;extension=php_shmop.dll
      
      ; The MIBS data available in the PHP distribution must be installed.
      ; See http://www.php.net/manual/en/snmp.installation.php
      ;extension=php_snmp.dll
      
      ;extension=php_soap.dll
      extension=php_sockets.dll
      extension=php_sqlite3.dll
      ;extension=php_tidy.dll
      ;extension=php_xmlrpc.dll
      extension=php_xsl.dll
      
      zend_extension="C:\php-7.1.22\ext\php_opcache.dll"
      zend_extension="C:\php-7.1.22\ext\php_xdebug-2.6.1-7.1-vc14-x86_64.dll"
      

      希望这会有所帮助。

      【讨论】:

      • 这是我的扩展路径 C:\apache\php\ext 它确实包含一个文件 php_curl.dll 但正如我在问题中提到的那样,我已经下载了 php7 并在 php.ini 文件中仅包含 exension=curl 并且我已经添加了 Windows 环境的路径。我没有产生任何错误,但我得到的只是 curl 被禁用。
      • 好的。我看到了问题。这是 php.ini 为 Windows 提供的文件的完全错误。几年以来,我对每个 php 安装都使用相同的 .ini,但我从未见过所有扩展现在都写成这样的“exension=curl”,而不是这样的“exension=php_curl.dll”。所以我不知道它是否像这样工作,但显然不是。用“extension=php_curl.php”覆盖你的“extention=name”,所有扩展都必须工作。几年以来我一直在使用它,它对我来说 PHP5/PHP7 所有版本都很好。我还编辑了我的帖子以找到 3 个外部所需的 dll。
      • 对不起 "extension=php_curl.dll" :)
      • 感谢在将 libssh2.dll 添加到路径后它工作了感谢您的帮助
      猜你喜欢
      • 2017-06-08
      • 2013-01-06
      • 2015-03-02
      • 2019-09-28
      • 2016-06-07
      • 1970-01-01
      • 1970-01-01
      • 2015-10-29
      • 2016-09-14
      相关资源
      最近更新 更多