failed to open stream

#1
Ich habe gerade meinen Wordpress-Blog von meinem alten Server mit ISPC2 auf einen neuen mit der "Standardinstalltion" von ISPC3 (Debian 5) umgezogen.

Nun erhalte ich folgende Fehlermeldung:

Warning: include_once(/cgi-bin/abc/in.cgi) [function.include-once]: failed to open stream: No such file or directory in /var/www/clients/client2/web4/web/wp-content/themes/connections/index.php on line 32

Warning: include_once() [function.include]: Failed opening '/cgi-bin/abc/in.cgi' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/clients/client2/web4/web/wp-content/themes/connections/index.php on line 32
Die Pfade sind korrekt, die Schreib- Leserechte auch. Ich tippe ja auf ein Problem mit dem open_basedir/ session.save_path o.ä. Dummerweise haben ich noch nicht rausgekriegt wie und wo ich diese Dinge in ISPC3 anpasse.

Ich hoffe mir kann jemand helfen, da ich mit meinen Nevern am Ende bin. :eek:

Es mach übrigens keinen Unterschied, ob ich zwischen mod_php und suphp umschalte!
 
#5
Es handelt sich um eine Trackingscript auf CGI-Basis. Mit dem Aufruf wird beim Besucher ein Cookie gespeichert und das Script zählt die Aufrufe.

Auf dem alten Server (Centos 5.3 mit ISPC2.2) hatte ich das Script mit der Funktion virtual() eingebunden. Jetzt wird dabei aber noch nicht mal die Seite mit dieser Funktion geladen und es erscheint die Meldung:

Fatal error: Call to undefined function virtual() in /var/www/clients/client2/web4/web/wp-content/themes/connections/index.php on line 32
 

Till

Administrator
#6
virtual ist eine apache spezifische Funktion von php, die zu mod_php gehört (siehe php manual). Hast Du denn auch mod_php für die Seite ausgewählt und nicht cgi php oder fcgi?
 
#7
Eigentlich wollte ich die Seite mit suPHP betreiben, habe es aber jetzt mal auf mod_php umgestellt und die Funktion virtual() verwendet. Hierbei wird die Seite geladen, aber es erscheint folgende Fehlermeldung:

Warning: virtual() [function.virtual]: Unable to include '/cgi-bin/abc/in.cgi' - request execution failed in /var/www/clients/client2/web4/web/wp-content/themes/connections/index.php on line 32
Wenn ich die den Include-Befehl verwende, erscheint die selbe Fehlermeldung wie am Anfang.
 

Till

Administrator
#8
Ich weiß nicht genau was Du da bastelst aber so macht es wirklich keinen Sinn. CGI Scripte ruft man über eine URL auf. Includen kannst Du sie aus dem cgi-bin Verzeichnis schon mal garnicht. Wenn Du was includen willst, dann gehörtd ie Datei ins web verzeichnis und wenn Du ein CGI Script aufrufen willst, dann geht das z.b. über http://www.deinedomain.de/cgi-bin/scriptname.cgi Dann musst Du natürlich auch erstmal testen ob das cgi überhaupt richtig aufgespielt wurde und von den Rechten her funktioniert etc.
 
#9
OK, ich habe gerade meinen Fehler gefunden. Die Dateirechte der Datei /cgi-bin/abc/in.cgi waren falsch gesetzt. :eek:
Manchmal kann es so einfach sein....

Somit funktioniert es auch wieder mit virtual() und mod_php!

Was das Inkludieren der Datei unter suPHP angeht, werde ich mal beim Hersteller nachfragen, ob der eine Lösung dafür hat, den der empfahl explizit diese Variante....

Erstmal Danke für den tollen Support! :)
 

Werbung