Enable cURL in Windows 10

寵の児 提交于 2019-12-08 14:39:33

问题


I have set up local server in my laptop (Windows 10 Home Single Language 64 bit Version 1803).

I have downloaded and manually installed apache24, php7, MySQL, phpMyAdmin and wordpress by following this tutorial.

I am trying to enable cURL and so in the php.ini file i have changed

;extension=curl

to

extension=curl

I have restarted the apache server. After that I run the following code at localhost/curl_enable.php to check whether cURL is enabled.

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

But it still shows

Curl: Disabled

So have I missed any step. How to enable cURL in my system?


回答1:


Here is the steps to enable curl on Windows :

...
; 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 - Make sure your extension_dir point to the php extension directory.

2 - uncomment or add the extension .dll name .

Here is the right syntax by convention for php extensions : php_nameOfTheExtension.dll

The .dll are placed in the extension directory of php or you must place it here in case of 3rd party download.

3 - cacert.pem is optional and is used for SSL transactions.

Download here : https://curl.haxx.se/docs/caextract.html

4 - Check with phpinfo() if curl is in the list and check the configuration.

5 - In case of error, check the error.log and access.log of Apache

Edit 1 :

6 - I forgot : add the paths of your php directory to the Windows Environment PATH Variable for .dll dependencies.

Question/Response here : Enable CURL on Windows For PHP5.6.4

Edit 2 : Here is the path for the files :

Depending on MySQL installation & version

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

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

Depending on your php directory

C:\php7\libssh2.dll

Edit 3 :

Example of extensions configuration with the right syntax taken from PHP5 but working also for 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"

Hope this will help.




回答2:


I had the same problem with wamp 3.1.9, php 7.3.7

The solution was to replace the php_curl.dll in ext folder with a file from a previous PHP 7.3.1 version.



来源:https://stackoverflow.com/questions/53154246/enable-curl-in-windows-10

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!