includes in php für cron
Stefan Link
- php
0 Stefan Link0 Tom0 Stefan Link0 entropie
Hallo zusammen,
folgende Situation: ich habe zwei Rootserver, einer mit Suse 9.0 der andere mit Suse 9.1. Beide nutzen php als Modul. Ich habe ein file, nennen wir es mycron.php. Das liegt in
/srv/www/htdocs/Beta/Services
und greift auf ein weiteres php-file, nennen wir es myinclude.php zu, das in
/srv/www/htdocs/Beta/Includes
liegt. Myinclude.php sieht also vereinfacht so aus:
<?php
include("/srv/www/htdocs/Beta/Includes/myinclude.php");
?>
Der Befehl für den Cronjob lautet
php -q /srv/www/htdocs/Beta/Services/mycron.php
Jetzt kommt das Verrückte, das ich mir nicht erklären kann: auf
Server A funktiert das prima, auf Server B sagt er include nicht gefunden.
Jetzt mache ich das: ich ändere das include von absoluten auf relativen Pfad, also
<?php
include("../myinclude.php");
?>
Das geht nun auf Server A aber nicht auf B. Kann sich das irgendjemand erklären??? Die Rechte an den files sind auf beiden Servern testweise auf 777...
Ich danke euch im Voraus für jede Hilfe!
Gruß
Stefan
Sorry, korrektur:
myCRON.php (nicht myINCLUDE) sieht also vereinfacht so aus:
<?php
include("/srv/www/htdocs/Beta/Includes/myinclude.php");
?>
Hello,
gibt es Fehlermeldungen?
Wie sind die Einstellungen für Fehlermeldungen?
Hast Du die Logbücher (error_log) angeschaut?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Ja, in beiden Fällen ist (jeweils umgekehrt) die Fehlermeldung "failed to open stream", er findet das file also in der include nicht.
error_reporting = E_ALL & ~E_NOTICE (also voll...)
Normalerweise sollten der absolute Pfad ja genügen. Die Verzeichnisstruktur ist auf beiden Servern hinter htdocs identisch...
Morgen
Schick einfach mal nen diff über die beiden PHP ini's (oder machs halt per auge wenn sie kommentartechnisch zu viele unterschiede haben).
Ich denke das irgendwie die include optionen/pfade falsch/anders gesetzt sind.
Mfg entropie