簡體   English   中英

卷曲調用在Apache / PHP上不起作用

[英]Curl Calls are not working on Apache/PHP

我的curl調用未在Apache / PHP上啟用。 我的PHP版本是5.6.3(x32),Apache是​​2.4

我已經取消注釋在C:/PHP/php.ini中啟用curl的行:

extension=php_curl.dll

另外,我確保在路徑變量中同時包含PHP路徑和PHP ext路徑,以便同時啟用PHP文檔中指定的ssleay32.dlllibeay32.dll 這是路徑:

C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\TortoiseSVN\bin;C:\PHP;C:\PHP\ext;C:\Apache24\bin;C:\xampp\apache\bin;C:\Ruby193\bin;C:\xampp\apache\bin"

但是,多次重啟后,我仍然在日志中收到此錯誤:

PHP Fatal error:  Call to undefined function curl_init() in C:\\Apache24\\htdocs\\user\\newapi\\test.php on line 5, referer: http://localhost/newapi/

我知道這很明顯,但是首先要檢查的是PHP配置,請確保curl不在任何一個中:

disable_functions=
disable_classes=

在檢查php設置時,請確保您具有(基於您的路徑):

extension_dir="C:\PHP\ext"

再次(再次)驗證C:\\ PHP \\ ext \\ php_curl.dll實際上存在,並且不只是從XAMPP安裝中復制而來。

之后,根據啟動Apache的方式(使用系統帳戶或作為用戶的服務),除系統路徑外,您可能還需要檢查用戶路徑。

在某個時間點,我發現我有ssleay32.dll和libeay32.dll的多個副本,這些副本在PHP二進制文件引起版本沖突之前被稱為。 我在下面提供了一個遇到麻煩的示例。

要查看正在使用的完整路徑(假設正在從用戶空間運行Apache):

C:\> echo %PATH%
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\curl;C:\Program Files\curl\dlls;C:\Web\php;C:\Python27;

在這台機器上,這些條目來自我的用戶路徑,而不是系統路徑:

C:\Program Files\curl;C:\Program Files\curl\dlls;C:\Web\php;C:\Python27;

要檢查路徑中已安裝文件的位置:

C:\> where ssleay32.dll
C:\Program Files\curl\dlls\ssleay32.dll
C:\Web\php\ssleay32.dll
C:\> 

在此示例中,我的curl和php構建所包含的dll之間的距離足夠遠,以至於彼此不兼容。 PHP試圖加載curl的dll,但是失敗了。 我沒有安裝它,所以現在無法檢查,但是TortoiseSVN可能包括它們。

可能還需要驗證文件的權限:

C:\> cacls c:\Web\php\ssleay32.dll
C:\Web\php\ssleay32.dll BUILTIN\Administrators:(ID)F
                        NT AUTHORITY\SYSTEM:(ID)F
                        BUILTIN\Users:(ID)R
                        NT AUTHORITY\Authenticated Users:(ID)C

附帶說明,將文件復制到%SystemDrive%\\ Windows \\ System32是一個壞主意。 從本質上講,只是將所有文件放入系統路徑(處於優先位置)而無需向用戶解釋如何編輯路徑變量的黑客。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM