Windows-7

Curl 擴展不起作用 - PHP 警告:PHP 啟動:無法載入動態庫 php_curl.dll

  • October 22, 2020

我在 64 位系統上執行的 Windows 7 作業系統上使用 Apache 2.2 伺服器、PHP 5.3.6。

在啟動 Apache 伺服器時,此錯誤出現在 apache 錯誤日誌中 -

PHP 警告:PHP 啟動:無法載入動態庫 ‘D:\php5\ext\php_curl.dll’ - 找不到指定的模組。\r\n 在第 0 行的未知中

以下是 php.ini 文件中提到的其他擴展 -

extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll 
extension=php_mysql.dll
extension=php_xsl.dll
extension=php_memcache.dll

phpinfo()顯不顯示已載入捲曲擴展,但已載入其他擴展。

然而,該php_curl.dll文件與其他文件一起存在於正確的位置 - D:\php5\ext\php_curl.dll

phpinfo()表明

extension_dir = D:\php5\ext

所以,這也是正確的。

更多細節

我是這個團隊的新成員,我在這個 Windows 7 系統上分別設置了 Apache、PHP,一切正常。

我們的項目需要大量的 httpd conf 更改,所以我被要求用團隊的目前版本簡單地覆蓋 httpd conf 文件。我也這樣做了,只是更改了 ServerName、ServerAdmin 等。我還複製了他們的 PHP 安裝目錄。

除了這個擴展之外的所有東西都工作正常。

原因很可能是缺少一些必要的 dll 文件。檢查我的另一個問題Apache start failed after apache config modify,顯示語法錯誤,在遇到一些類似的瘋狂錯誤後,無法將 php5apache2_2.dll 載入到我稍後放入的伺服器中。我已經描述了那裡的解決方案。

PHP 警告:PHP 啟動:無法載入動態庫 ‘…\php-5.6.9\ext\php_curl.dll’

在 Windows Server Core 2012 x64 cURL 上使用 PHP 5.6.9 無法正常工作,儘管在我的 php.ini 中取消註釋 php_curl.dll 擴展並重新啟動 Apache 2.4 服務,但未顯示在 phpinfo 中。在我的 $evn:path 中添加了 php 路徑和 php\ext 路徑。沒有喜悅。

修復:我不需要下載任何其他 php_curl.dll 文件,也找不到適用於 PHP 5.6 的文件。最後的工作是將這三個文件複製到 Apache24\bin 文件夾中,然後重新啟動 Apache:

libeay32.dll

libssh2.dll

ssleay32.dll

不需要將這些複製到 System 或 System32。

引用自:https://serverfault.com/questions/279033