[英]PHP 7 curl not being loaded
我已經在我的本地計算機apache 2.4中安裝了PHP 7.1。 我在我的php.ini(extension = php_curl.dll)中啟用了curl,但由於某種原因,即使我啟用了curl也沒有加載,我做了一個phhinfo來檢查,什么都沒有,我也做了一個小腳本:
function isExtensionLoaded($extension_name){
return extension_loaded($extension_name);
}
echo isExtensionLoaded('curl');
沒有什么,是空白的,它意味着什么是沒有被裝載,是缺少什么? 我在Windows 10上。
在我的情況下,當我將nghttp2.dll復制到Apache bin目錄時,它也有效
我很長時間都在尋找解決方案,直到我決定在PHP文檔站點上閱讀一些注釋: http : //php.net/manual/de/curl.installation.php
我修復了從php文件夾中處理以下列表文件(在我的情況下為C:\\ xampp \\ php7)
libeay32.dll
libssh2.dll
ssleay32.dll
有些人還不得不移動nghttp2.dll才能正常工作。
到你的apache / bin文件夾(在我的例子中是C:\\ xampp \\ apache \\ bin)。
我也將它們復制到C:\\ Windows \\ System32,但我認為這些文件都沒有被加載。
編輯 :我成功從system32文件夾中刪除了這些dll,之后能夠運行curl
確保您已編輯正確的文件。 CLI,Apache2和其他SAPI應該有單獨的文件。 完成后,重新啟動Apache2服務器。
很難猜到為什么它沒有運行,因為我看到你沒有得到錯誤atm。
你應該得到錯誤,但我很確定你沒有在你的php.ini中設置錯誤記錄
首先,我們需要激活日志記錄以查看擴展程序未正確運行的原因:
請在php.ini文件中更改/添加以下行:
display_startup_errors = On
error_log = 'c:/php-logs/php-error.log'
現在創建php-logs
目錄和php-log.log
文件
mkdir c:/php-logs
copy NUL c:/php-logs/php-error.log
現在重啟服務器。 現在你應該得到錯誤,請分享錯誤代碼,以便我可以提供幫助
更新:
在`httpd.conf``中啟用mod_ssl
LoadModule ssl_module c:\apache-2.2\modules\mod_ssl.so
如果您將ssl VERIFYPEER
設置為false
則它可以正常工作
curl_setopt($get, CURLOPT_SSL_VERIFYPEER, false);
它會工作正常。 您也可以通過從https://curl.haxx.se/docs/caextract.html下載cacert.pem並將證書添加到您的php.ini文件來使用ssl進行卷曲工作
curl.cainfo="C:\path\cacert.pem"
openssl.cafile="C:\path\cacert.pem"
和
curl_setopt($get, CURLOPT_SSL_VERIFYPEER, true);
也可以這樣工作,你可以防止中間人攻擊,查看此鏈接了解更多詳情http://thisinterestsme.com/php-curl-ssl-certificate-error/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.