nichts geändert und trotzdem fehlermeldung :(
Günther
- php
0 Sönke Tesch0 Günther0 Sönke Tesch0 Günther0 Sönke Tesch0 Günther0 Sönke Tesch0 Günther
hallo zusammen,
auf meiner website http://www.a51-clan.net/website/index.php erscheinen seit ca. 3 tagen folgende fehlermeldungen:
Warning: main() [function.main]: cannot represent a stream of type socket as a STDIO FILE* in G:\websites\a51-clan\htdocs\website\include\header.php on line 2
Warning: main() [function.main]: Failed opening 'http://www.a51-clan.net/website/include/header1.php' for inclusion (include_path='.;c:\php4\pear') in G:\websites\a51-clan\htdocs\website\include\header.php on line 2
Fatal error: Maximum execution time of 30 seconds exceeded in G:\websites\a51-clan\htdocs\website\include\header.php on line 5
Was mich dabei nur verwundert ist, dass ich absolut nichts verändert habe an der homepage. Ich habe ehrlich gesagt auch nicht viel Ahnung von PHP, ich habe nur den include()-befehl verwendet zur Arbeitserleichterung. Für mich php-neuling sieht das fast so aus, als hängt das problem damit zusammen, komisch ist dann nur, dass der include()-befehl auf einer kleinen unterseite (http://www.a51-clan.net/vampy) hervorragend funktioniert...
Kann mir irgendjemand helfen?
Vielen Dank und Frohes Fest im Voraus,
Günther :)
Warning: main() [function.main]: cannot represent a stream of type socket as a STDIO FILE* in G:\websites\a51-clan\htdocs\website\include\header.php on line 2
Warning: main() [function.main]: Failed opening 'http://www.a51-clan.net/website/include/header1.php' for inclusion (include_path='.;c:\php4\pear') in G:\websites\a51-clan\htdocs\website\include\header.php on line 2
Fatal error: Maximum execution time of 30 seconds exceeded in G:\websites\a51-clan\htdocs\website\include\header.php on line 5
Es wäre hilfreich, wenn Du die betreffenden Zeilen inklusive Umfeld verraten würdest. Ohne das kann man Dir lediglich die Fehlermeldung nochmal vorlesen: Der PHP-Interpreter beschwert sich darüber, daß Du versuchst, eine Netzwerkverbindung (stream of type socket) als Datei (FILE) für die Standardein-/ausgabe (STDIO) zu verwenden. Da er das nicht kann, schlägt das Einfügen von header1.php fehl. Im Umfeld von Zeile 5 schließlich bleibt er so lange hängen, bis die Deinem Skript zugestandene Zeit (30 Sekunden) abgelaufen ist.
Gruß,
soenk.e
Es wäre hilfreich, wenn Du die betreffenden Zeilen inklusive Umfeld verraten würdest.
ok, das hier ist die datei website/index.php:
<?
include 'include/header.php';
$chCounter_visible = "0";
include("counter/counter.php");
?>
<h1>News</h1>
<?
include 'http://www.a51-clan.redbarons-planet.com/forum/ssi.php?a=news&show=5';
echo '» <a href="http://www.a51-clan.redbarons-planet.com/forum/index.php?showforum=17">Show all News</a>';
include 'include/footer.php';
?>
Hier die datei "website/include/header.php:"
<?
include("http://www.a51-clan.net/website/include/header1.php");
?>
<link rel="stylesheet" type="text/css" href="http://www.a51-clan.net/website/stylesheet/style.css">
<?
include("http://www.a51-clan.net/website/include/header2.php");
?>
Hier, "website/include/header1.php":
<!-- das copyright habe ich mal rausgelassen -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>»A51« Clanbase</title>
Hier, "website/include/header2.php":
</head>
<body>
<?
//include("http://www.a51-clan.net/website/vwar/loginpanel/header.inc.php");
$chCounter_visible = "0";
include("../counter/counter.php");
?>
...
<!-- hier folgt noch einiges an code, was wohl belanglos sein düfte (html-tabellen) -->
Hilft euch das weiter??
MfG,
Günther
include 'http://www.a51-clan.redbarons-planet.com/forum/ssi.php?a=news&show=5';
Das dürfte das Problem sein. Du kannst nicht Teile eines Skriptes per über das Netzwerk von "irgendeinem" Server abrufen, Dein include() nimmt nur echte, lokale Dateien an.
Schreib ssi.php so um, daß darin eine Funktion steht. Du fügst ssi.php dann einmal am Skriptanfang per include() oder besser require_once() ein und rufst die Funktion auf, etwa so:
require_once("forum/ssi.php");
[..]
ssi("news",5);
Gruß,
soenk.e
möglich, aber wieso geht dann z.B. diese seite nicht:
http://www.a51-clan.net/website/clanrules.php?
der code:
<?
include 'include/header.php';
$chCounter_visible = "0";
include("counter/counter.php");
?>
<h1>Clan Rules</h1>
<!-- eine reine html tabelle -->
<?
include 'include/footer.php';
?>
möglich, aber wieso geht dann z.B. diese seite nicht:
include 'include/header.php';
Wieso sollte sie funktionieren? Du fügst hier header.php ein, und header.php beginnt mit dem anscheinend unerwünschten
include("http://www.a51-clan.net/website/include/header1.php");
Nimm erstmal das komplette http://..-Geraffel aus allen Dateien raus und probiere dann. Die ganze Vorgehensweise, in der der Webserver Anfragen über das Netzwerk an sich selbst stellen muß, um eine Seite ausgeben zu können, ist eh nicht so sonderlich glücklich gewählt.
Gruß,
soenk.e
Die ganze Vorgehensweise, in der der Webserver Anfragen über das Netzwerk an sich selbst stellen muß, um eine Seite ausgeben zu können, ist eh nicht so sonderlich glücklich gewählt.
Stimmt, das habe ich so gemacht weil der header auch von einem unterverzeichnis includet werden muss, daher wollte ich mir die arbeit ersparen und habe absolute Pfade genommen. (alternativ hätte ich auch die ganzen header 2mal schreiben können und die jeweiligen pfade anpassen können).
Ich habe jetzt mal die ganzen absoluten includes rausgenommen und sie durch relative ersetzt. Jetzt klappt schonwieder einiges.
Das mit den Unterverzeichnissen werde ich wahrscheinlich so machen, dass ich die Dateien auch ins Hauptverzeichnis hochlade. Dann wird zwar die Dateistruktur etwas durcheinander gebracht aber das stört mich jetzt auch nicht mehr sonderlich.
das einzige problem das ich jetzt im moment habe:
das mit der ssi.php:
diese datei ist von einem invisionboard forum, und dient dazu, die posts aus einem bestimmten forum auszulesen und zu wiederzugeben (in meinem fall "News"). Soo.. dieses forum ist nur nicht auf demselben webspace wie die webseite.
Wenn ich aber nun nicht per include diese Datei in die seite einbinden kann, wie krieg ich dann die forum news dazu, bei mir in der seite zu erscheinen?
falls dazu änderungen in der ssi.php nötig sind, ich habe hier mal deren code in eine txt datei kopiert und hochgeladen:
http://www.a51-clan.net/vampy/ssi.txt
Vielen Dank im Voraus,
Günther :)
Die ganze Vorgehensweise, in der der Webserver Anfragen über das Netzwerk an sich selbst stellen muß, um eine Seite ausgeben zu können, ist eh nicht so sonderlich glücklich gewählt.
Stimmt, das habe ich so gemacht weil der header auch von einem unterverzeichnis includet werden muss, daher wollte ich mir die arbeit ersparen und habe absolute Pfade genommen.
Wenn's nur darum geht: Klebe einfach $_SERVER["DOCUMENT_ROOT"], also den absoluten Pfad im Dateisystem zum Wurzelverzeichnis der Webseiten, vor Deine Pfade.
das mit der ssi.php:
diese datei ist von einem invisionboard forum, und dient dazu, die posts aus einem bestimmten forum auszulesen und zu wiederzugeben (in meinem fall "News"). Soo.. dieses forum ist nur nicht auf demselben webspace wie die webseite.
Probiere readfile("http://bla/bla") oder dergleichen, das kommt in diesem Falle auf dasselbe raus - kann aber auch genauso gut schiefgehen. Falls es nicht klappt, könntest Du auch noch probieren, mit fsockopen()/fgets()/fputs() die HTTP-Verbindung selbst zu managen.
Gruß,
soenk.e
Hallo,
w00000t dankeschöne, du hast mir sehr geholfen!
Vielen Dank soenk.e!!
so sieht die website aus (wenn sie denn mal funktioniert ;)):
http://www.a51-clan.net :)
MfG,
Günther