最近分別在win7和Win8、win10 上分別安裝php 高版本!都遇到了這個問題!
一、win7系統, apache2.2/apache2.4, php5.2升級到5.4.
這個比較容易:
1. phpinfo發現沒有加載curl;
2. 在php.ini中設置extension_dir 指向e:\php5.4\ext; 部分php擴展加載了, 但curl仍不行。
3. 設置windows系統環境變量, phpext, 指向e:\php5.4\ext, PHPRC 指向e:\php5.4
設置path環境變量,添加e:\php5.4
4. 重新啟動apache, 終於出來了, 大功告成!
二、win8、win10系統, apache2.4, php5.4/5.5/5.6, v9/v11
首先前面win7下的都執行了, 但死活不行!也下載了許多64位的php_curl.dll, 也不行!
發現很可能是加載依賴的問題! 最后解決!
1. 執行前面win7下的1-4步!
2. 下載:http://www.dependencywalker.com/
3. 查看php版本中的php_curl.dll模塊依賴!自行嘗試吧, 運行並找到php_curl.dll路徑, 打開查看依賴庫。
4. 在http.conf中最后,添加:
1
2
3
4
5
6
7
|
LoadFile D:/Lamp/php5/php5ts.dll
LoadFile D:/Lamp/php5/libeay32.dll
LoadFile D:/Lamp/php5/ssleay32.dll
LoadFile D:/Lamp/php5/libssh2.dll
LoadModule php5_module
"D:/Lamp/php5/php5apache2_4.dll"
AddType application/x-httpd-php .php
|
5. 重啟, 大功靠成!
三、總結:
主要問題, php要下載安全版本;各種方法都試了, 仍不行, 就查看依賴並嘗試添加。
php包里的php_curl.dll擴展應是可用的, 不要隨便替換。 另外, 盡管php文檔注釋32位環境才需加依賴, 事實不是這樣。
自己搗鼓了好久好不容易看到這一篇,正確的解決了問題,棒棒噠!