©
Ce document utilise Manuel du site Web PHP chinois Libérer
要使用PHP的cURL支持你必须在编译PHP时加上--with-curl[=DIR] 选项,DIR为包含lib和include的目录路径。在include目录中必须有一个名为curl,包含了easy.h和curl.h的文件夹。lib文件夹里应该有一个名为libcurl.a的文件。对于PHP 4.3.0你可以配置--with-curlwrappers 使cURL使用URL流。
Note: Win32用户注意
要在Windows环境下使用这个模块,libeay32.dll和ssleay32.dll必须放到PATH环境变量包含的目录下。 不用cURL网站上的libcurl.dll。
[#1] mesamorpho [2015-10-02 13:57:07]
At least for windows builds of PHP, module dependencies (such as "libeay32.dll", "libssh2.dll", "ssleay32.dll", etc. for php_curl) are mentioned in "snapshot.txt" included in the base folder of each PHP install.
For WampServer (I'm on an old version of 2.0 but this still applies at least up to version 2.5), ensure that all dependencies are listed in an array assigned to "$phpDllToCopy" in "Wamp\scripts\config.inc.php". This ensures that when you switch the version of PHP in WAMP, WAMP copies the dependencies from the base folder of the selected PHP install (e.g., "Wamp\bin\php\php5.4.42") to the "bin" folder of the currently selected version of Apache (e.g., "Wamp\bin\apache\apache2.2.13\bin").
This also keeps you from either manually doing the same (whereby it should be noted that the versions of the dependencies often differ between versions of PHP, so you may have to do this each time you switch the current version of PHP), copying the appropriate dependencies to the Windows "System32" or "SysWOW64" subfolders, or manually adding the path to the currently used version of PHP to your PATH environment variable.
[#2] lymer at ca dot ibm dot com [2015-07-29 19:09:44]
For Windows 7 (64 bit), ensure you not only enable the curl extension (i.e. uncomment "extension=php_curl.dll" in php.ini) as described in this manual, but also set the extension directory for Windows (e.g. extension_dir = "ext") in the php.ini file. Adding / copying dll files or changing the system path were not necessary. (Versions used: Apache 2.4.1 (Win64) and PHP 5.5.15.)
[#3] Developtus.com [2015-05-29 03:38:19]
Upgrading to php 5.6.9 on Windows 7 x64 curl no longer is recognised. No errors on server start package just not available and didn't show in phpinfo.php. deplister.exe was ok
I fixed coping the following list files from php folder (in my case D:\xampp\php)
libeay32.dll
libssh2.dll
ssleay32.dll
to c:\xampp\apache\bin (or your apache\bin path), restart apache and works fine, apache's libraries were outdated
[#4] Samuel Marshall [2014-10-30 09:35:10]
Win32 Users: As of PHP 5.5 you also have to libssh2.dll on your path along with libeay32.dll and ssleay32.dll for cURL to work.
[#5] ken at kenw dot us [2014-10-18 23:15:28]
I had to also also copy libssh2.dll into my Apache24 folder for this to work with my PHP 5.6.2 installation. So altogether I had to do the following:
Move to Windows\system32 folder:
libssh2.dll, php_curl.dll, ssleay32.dll, libeay32.dll
Move to Apache24\bin folder
libssh2.dll
Uncomment extension=php_curl.dll
[#6] jwagner at digilog dot de [2014-10-14 19:07:26]
On Windows hosts libeay32.dll and ssleay32.dll have to be path-accessible for php_curl.dll to work correctly. Copying them into System32 (or even into the Windows main directory) is a bad hack (and does not even work with newer PHP versions). The right way to do it, is to add the PHP path to the Windows *Path* variable. In *Control Panel* --> *System* click on *Advanced System Settings* and use the button *Environment Variables*. Under *System Variables* you will find the *Path* variable. Edit it and append `;C:/PHP` to it - or whatever the path to your PHP root folder is.
[#7] jorijnsmit at gmail dot com [2014-03-22 06:44:34]
It is not necessary to always (re)compile PHP. For me it was sufficient to install php5-curl and restart Apache:
$ sudo apt-get install php5-curl
$ sudo /etc/init.d/apache2 restart
[#8] aaron at iodragon dot com [2014-02-07 07:56:13]
make sure there is a curl-config under DIR or DIR/bin
otherwise there will be an error when running ./configure
[#9] TristanV [2013-12-13 23:41:13]
If you are running on Windows with a Wampserver or alike preconfigured PHP, if you did everything that was advised (path is correct, dlls are in the System32 or the Wow64 folder, php_curl extension uncommented in the php.ini, rebooted your machine and restarted your services), and you still receive messages saying that curl is not installed :
- maybe you are running a command line script (and not a curl instruction within a web application). If yes, remember that there are 2 distinct php.ini configuration files : one for the php-cli commands (run php at command line) and one for the php instructions (run from a page in your www folder).
Wampserver's menuitem "php.ini" only opens the webserver's php.ini, not the php-cli one.
So it will be great to check your php-cli's php.ini configuration file ! (you'll find it in the php.exe's installation folder)
You need to uncomment the extension php_curl in this php.ini file for the command lines to work with curl.
Also uncomment the php_openssl extention by the way (often used with curl).
I hope this fixed issue will help someone else :)
[#10] musicdev at gmail dot com [2013-05-15 00:46:27]
A tip for users that now use the latest version of Windows 7 Ultimate, Apache 2.2.22 and PHP 5.4.4. If you manually installed PHP and did not change the PHP folder name such as "C:\php-5.4.4-Win32-VC9-x86" you don't need to add the curl libs into the System32 directory. Instead, modify the php.ini cURL extension to point directly to the php_curl.dll as follows:
extension=C:\php-5.4.4-Win32-VC9-x86\ext\php_curl.dll
I added the libs to system32 and moded the path as well just in case. Worked well for me.
[#11] jmichieli76 at yahoo dot ca [2012-06-18 14:03:31]
It should be noted that on a standard installation of php 5.2.17 on windows has this functionality installed and enabled by default.
[#12] y dot gonzalez at bifie dot at [2011-10-13 05:06:07]
For users of win7 64:
I just copied the library php_curl.dll to System32 and it works like charm ;-)
[#13] Joseph Marlin [2011-06-13 10:57:30]
Ubuntu 11.04
I already had Apache and PHP5 setup, but simply adding php5-curl and curl did *not* work. I also had to get libcurl3 and libcurl3-dev. The full command:
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl
You'll know if it works because phpinfo() will get a new section with Curl info.
[#14] Anonymous [2011-01-04 12:39:30]
For Windows 64, put the DLLs into the Windows/SysWOW64 Folder.
[#15] Anonymous [2010-11-30 17:40:52]
It's not sufficient to put libeay32.dll and ssleay32.dll into your path. They also need to be in the PHP directory or it will not function, apparently.
[#16] wixelbomb at yahoo dot com [2009-12-28 11:17:36]
Just an additional note for Windows XP installations ...
The instructions others have courteously given still lack one small item for those who have the Windows/system32 directory as the repository for the .dll files concerned with php_curl.
Go to the ext directory of your php installation and copy php_curl.dll to the Windows/system32 folder after you have followed the advise given elsewhere.
So ...
1) remove ';' from extension=php_curl.dll in php.ini
2) ensure that ssleay32.dll and libeay32.dll are in Windows/system32.
3) Copy php_curl.dll into Windows\System32 as well.
G'day
bearstate
[#17] regs at voidship dot net [2008-09-23 09:45:53]
If you're dense like I am, spare yourself the trouble on an Ubuntu system (probably Debian too) and...
$ sudo apt-get install php5-curl
Then feel dumb, but not as dumb as me.
[#18] cristianods at yahoo dot com [2008-08-14 06:53:06]
Tip for Installing cURL with AppServ development server on Windows
If you are running AppServ as a WAMP development environment on a Windows machine, you may experience difficulty installing cURL. Here are some helpful steps:
First go to the PHP directory and copy the following libraries to the windows/system32 dir.
ssleay32.dll
libeay32.dll
Open the php ini file and remove the ; from extension=php_curl.dll
Reboot your machine to load [??]
[#19] comments at adstation-systems dot com [2008-08-09 08:23:03]
You may be confused, as I was, by the instructions for installing cURL in php. The instruction "To use PHP's cURL support you must also compile PHP --with-curl[=DIR]..." was murky to me, since I didn't compile php when I installed it. I just copied all of the necessary files to the correct folders as described very clearly in the php manual.
I am using Windows XP and Apache with php 5.1.6. In this situation, and it may apply to php versions of 5.0 and later, all one needs to do is remove the ";" from the front of the directive extension=php_curl.dll. You should also check to make certain that libeay32.dll and ssleay32.dll are in your php directory with the other dll's. This directory should already be in you path, so the instruction to put them in you path is not critical.
You can then run phpinfo() and you should see a heading for curl in the listing.
Succinctly, my installation of cURL consisted of removing the semi-colon in front of the ;extension=php_curl.dll line in php.ini, saving php.ini and restarting Apache. You may wish to try this if you are using php 5.0 and later and are having difficulty understanding the instructions on the cURL installation page at php.net
You might also find the information at http://curl.phptrack.com/forum/viewtopic.php?t=52 useful.
[#20] rohanshenoy at w3hobbyist dot com [2008-07-21 09:21:28]
If you are using WAMPserver, you can enable the cURL extensions by
Left-click on WAMPserver tray icon>PHP>PHP extensions> Check php_curl.
Its already loaded on your disk, you have to activate it.
[#21] Christopher McCulloh [2008-07-18 08:40:13]
If you are using XAMPP (http://www.apachefriends.org/en/index.html) all you have to do is uncomment this line (line 582):
extension=php_curl.dll
in the xampp\apache\bin\php.ini file.