2009-08-07 70 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');,如果这可以用于你的设置。