2014-03-18 31 views
0

我有一個奇怪的問題,可能會或可能不會與Plesk綁定。這個PHP腳本意圖在相同的域上執行時在同一服務器上獲取頁面,例如http://quotationsbook.com/sometestpage.php在PHP中通過CURL獲取URL會導致出現Plesk錯誤頁面

<?php 
error_reporting('E_ALL'); 
ini_set('display_errors', 1); 
function curlFileGetContents($urlreq) { 
    $ch = curl_init(); 
    $timeout = 5; 
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
    curl_setopt($ch, CURLOPT_MAXREDIRS, 50); 
    curl_setopt($ch, CURLOPT_URL, $urlreq); 
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    $request_result = curl_exec($ch); 
    if (curl_errno($ch)) 
     $response = 0; 
    else 
     $response = $request_result; 
    curl_close($ch); 
    return $response; 
    } 
$url = 'http://quotationsbook.com'; 
$data = curlFileGetContents($url); 
echo '<pre>'; 
print_r($data); 
echo '</pre>'; 
?> 

但是,它不取請求的頁面,它總是取一的Plesk錯誤頁面。

根據PHP var allow_url_fopen,它被設置爲On。

該問題只發生在託管代碼的相同域中,而不是其他域。即它僅出現在http://quotationsbook.com哪裏是什麼我想獲取正在http://quotationsbook.com/ *,當我嘗試獲取說這不會發生,http://google.com

+0

什麼是錯誤頁面說的? –

+0

這是我在看到上面的http://quotationsbook.com時看到的回覆: http://chopapp.com/#vro2vmck –

回答

0

的回答你的問題實際上是你的最後一段。

該問題僅出現在託管代碼的相同域中, 不適用於其他域。即它僅出現在 http://quotationsbook.com哪裏是什麼我想獲取正在 http://quotationsbook.com/ *,當我嘗試獲取 說不會發生,http://google.com

那是你的線索吧。

我必須提出一個問題,那就是爲什麼使用CURL,如果你在同一臺服務器上?你想達到什麼目的?比使用CURL可能有更好的解決方案。

假設您需要使用CURL,它可能是防火牆或其他安全問題。確保正在訪問的端口已打開並且未被阻止。

請參閱PHP Curl does not work on localhost?