2009-08-07 125 views
3

我在一些if/else語句中運行下面的代碼,我在同一個文件中有一個奇怪的問題,下面的確切代碼工作正常,但是在另一個區域中,如果它被調用,我得到這個錯誤;不能在php中包含文件

Warning: include() [function.include]: URL file-access is disabled in the server configuration in C:\webserver\htdocs\processing\process.friends.php on line 168 

Warning: include(http://localhost/index.php) [function.include]: failed to open stream: no suitable wrapper could be found in C:\webserver\htdocs\processing\process.friends.php on line 168 

$_SESSION['sess_msg'] = 'Please Enter the Correct Security Code'; 
$_GET["friendid"] = $friendid; 
$_GET["p"] = 'mail.captcha'; 
$_GET["f"] = 'friend'; 
include ("index.php"); 
exit; 

而只是爲了澄清我njot試圖在同一時間運行這段代碼的2倍,它更像是這一點;不只是這樣,但你得到的是他們沒有在同一時間

if(something){ 
    run the code above 
}else{ 
    run the code above 
} 

如果它的事項運行的地步,我目前在Windows PC上運行的LAMP設置

回答

10

刪除「http://localhost」部分的代碼。作爲一個經驗法則,當您包含自己的文件時,應該從文件系統中包含它們。

include "./index.php"; 
+0

是的,這只是一個測試代碼,它沒有影響它的工作與否,雖然 – JasonDavis 2009-08-07 18:01:18

+1

看起來像它確實修復它,我必須忽略這之前,奇怪它通常是最花時間來修復最簡單的問題,通常從俯視他們,因爲他們看起來很簡單,謝謝 – JasonDavis 2009-08-07 18:07:28

+1

優秀!很高興我能幫上忙。是的,這很真實,但你在這個過程中學到了很多東西。繼續前進,你會很快成爲一名職業球員。 – 2009-08-07 18:22:31

0

好吧,我不回答叩頭你的問題,但我必須問你爲什麼覺得有必要包括基於URL的文件?

include('http://whatever.com/');可能極其危險。

如果你只是想輸出HTML生成的HTML,我建議你做一些像echo file_get_contents('http://some/url');。如果您嘗試包含PHP代碼,請使用系統路徑

+0

實際上它會是(index.php)它只是因爲我想盡一切辦法讓它正常工作 – JasonDavis 2009-08-07 18:02:33

2

只需刪除http://localhost/部分,您就可以。

+0

工作,很奇怪,我只是想盡一切可能的文件路徑來實現它,我不想我不知道我是如何忽視這一點的 – JasonDavis 2009-08-07 18:05:12

0

它們是完全一樣的嗎?你能發佈兩個版本的代碼嗎?我也可以推薦不要使用include('http:// ...');這將使PHP將HTTP請求發送到您的Web服務器,並獲取結果。你可能會更好一些,只是做include('index.php');,如果這可以用於你的設置。