簡體   English   中英

php curl_exec死掉並退出腳本並顯示白屏

[英]php curl_exec die and exit script and show white screen

這是我的代碼:當我嘗試連接到whm / Cpanel添加新帳戶時出現此問題,但是當我嘗試從whm / cpanel刪除用戶時,它工作得很完美。 我的問題是curl_exec行死了,並向我顯示空白屏幕,頁面上沒有任何錯誤,並且curl_erc在curl_exec完全沒有運行后沒有返回任何代碼。

謝謝你的回答

$curl = curl_init();
# Create Curl Object
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
# Allow certs that do not match the domain
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
# Allow self-signed certs
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
# Return contents of transfer on curl_exec
$header[0] = "Authorization: WHM $cpanel_user:" . preg_replace("'(\r|\n)'", "", $whmhash);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 1800);
# Remove newlines from the hash
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
# Set curl header
curl_setopt($curl, CURLOPT_URL, $command);
# Set your URL
curl_setopt($curl, CURLOPT_FAILONERROR, FALSE);

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
if( ! $result = curl_exec($curl))
{
    trigger_error(curl_error($curl));
} 

$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
# Execute Query, assign to $result
if ($result == false) {
    error_log("curl_exec threw error \"" . curl_error($curl) . "\" for $query");
}
curl_close($curl);

您應該使用curl_errno來檢查curl是否有任何錯誤

替換它

if( ! $result = curl_exec($curl))
{
    trigger_error(curl_error($curl));
} 

通過

$result = curl_exec($curl);
// Check for errors and display the error message
if($errno = curl_errno($curl)) {
    $error_message = curl_strerror($errno);
    trigger_error("cURL error ({$errno}):\n {$error_message}");
}

http://php.net/manual/en/function.curl-strerror.php

問題是nginx不允許響應回到我的代碼。 通過禁用在apache的代理模式上工作的服務器上的nginx它解決了。

暫無
暫無

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

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