2009-08-07 11 views
3

Ich führe den Code unten in einigen if/else-Anweisungen, ich habe ein seltsames Problem in der gleichen Datei dieser genaue Code unten funktioniert gut, aber in einem anderen Bereich, wenn es heißt, bekomme ich diesen Fehler ;Kann keine Datei in 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; 

Und nur zu klären ich njot versuche diesen Code 2-mal in der gleichen Zeit zu laufen, dann ist es eher wie diese; Nicht einfach so, aber Sie erhalten den Punkt, dass sie nicht zur gleichen Zeit laufen

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

Wenn es darauf ankommt, ich bin derzeit läuft ein LAMP-Setup auf einem Windows-PC

Antwort

10

entfernen Sie den „http://localhost“ -Teil deines Codes. Als Faustregel gilt: Wenn Sie Ihre eigenen Dateien einschließen, sollten Sie sie aus Ihrem Dateisystem einfügen.

include "./index.php"; 
+0

yeah das ist nur ein Test-Code, hat keinen Einfluss auf es funktioniert oder nicht obwohl – JasonDavis

+1

Sieht aus wie es repariert, ich muss dies übersehen, seltsam, wie es in der Regel die einfachsten Probleme ist, die die meiste Zeit zu beheben , normalerweise von ihnen zu übersehen, weil sie einfach scheinen, danke – JasonDavis

+1

ausgezeichnet! Froh, dass ich helfen konnte. Ja, es ist lustig, wie das stimmt, aber du lernst dabei viel. Mach weiter und du wirst in kürzester Zeit ein Profi sein. –

0

Nun, ich kow nicht die Antwort auf Ihre Frage, wenn ich fragen müssen, warum Sie das Bedürfnis verspüren, eine URL-basierte Datei enthalten?

include('http://whatever.com/'); kann EXTREM gefährlich sein.

Wenn Sie nur versuchen, den HTML-Code auszugeben, würde ich vorschlagen, dass Sie etwas wie echo file_get_contents('http://some/url'); machen. Wenn Sie versuchen, PHP-Code aufzunehmen, verwenden Sie den Systempfad

+0

eigentlich wird es sein (index.php) es hat nur apth, weil ich versuche jeden möglichen Weg, es zur Arbeit zu bekommen – JasonDavis

2

Entfernen Sie einfach die http://localhost/ Teil und Sie werden in Ordnung sein.

+0

das funktionierte, komisch, ich habe nur versucht, jeden Dateipfad möglich, um es zur Arbeit zu bringen, ich don Ich weiß nicht, wie ich das übersehen habe – JasonDavis

0

Sind sie genau das gleiche? Könnten Sie beide Versionen des Codes veröffentlichen?

Ich kann auch empfehlen, kein Include ('http: // ...'); Dadurch wird PHP zu einer HTTP-Anfrage an Ihren Webserver und Sie erhalten das Ergebnis. Sie könnten ein bisschen besser dran tun (include ('index.php'); wenn dies für Ihre Einrichtung möglich ist.