phpcurl_exec退出脚本并显示白色屏幕


php curl_exec die and exit script and show white screen

这是我的代码:当我尝试连接到whm/Cpanel以添加新帐户时,会出现此问题,但当我尝试从whm/cppanel删除用户时,效果非常好。我的问题是curl_exec行die,并向我显示空白的白色屏幕页面上没有任何错误,curl_error在根本没有运行后没有返回任何代码。

谢谢你的回答

$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不允许响应返回到我的代码中。通过禁用服务器上的nginx,它解决了apache的代理模式。