apache 中php_curl不能載入
提示錯誤Fatal error:Call to undefined function curl_init()。我估計應該有人也有類似問題,趕緊百度一下,果然好多人遇到這個問題
1、將PHP安裝目錄中找libeay32.dll,ssleay32.dll,php_curl.dll,php5ts.dll四個DLL檔案,有的在ext目錄,找到後將他們複製到system32下,如果找不到請下載對應版本的PHP複製過去;
2、檢查php.exe, php5ts.dll和php_curl.dll的版本是否相同,把滑鼠放到什麼就會顯示版本資訊;
3、開啟你的php.ini檔案,不知道在哪個位置的可以先phpinfo查看第六行顯示路徑,不要搞混了,開啟做如下修改:將php_curl前的注釋符(也就是分號)去掉。有必要的話將cgi.force_redirect前的注釋符也去掉,並把值1修改為0;
4、重啟IIS或apache後運行phpinfo檢查curl是否成功載入,Ctrl+F尋找curl,如果沒有匹配,那肯定是沒有載入成功,如果有匹配,恭喜你已經成功載入了。
具體解決辦法
在php.ini中找到有extension=php_curl.dll, 去掉前面的注釋.
設定extension_dir=c:phpext, 重新整理PHP頁面時報錯, 說找不到模組php_curl.dll.
拷貝php_curl.dll 到windowssystem32,還是同樣的錯.
在網上找了一下,需要將:
libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll
都拷貝到system32目錄下,重啟apache即可.
附上iis php_curl不能使用
問題:
PHP 在 IIS6 或 IIS7 中無法載入 php_curl.dll 動態連結程式庫。
解決方案:
在PHP手冊中有相關說明:php_curl.dll;CURL,用戶端 URL 庫函數庫;需要:libeay32.dll,ssleay32.dll(已附帶)
所以只要將 libeay32.dll,ssleay32.dll 這兩個庫複製到 %WINDOWS% 目錄下即可。