php: header() mag nicht
Cyx23
- webserver
Hallo,
kann gerade auf dem betr. System nicht so viel rumprobieren, um nicht zu
riskieren, den normalen Betrieb mit irgendwelchen Fehlermeldungen zu stören.
Deshalb erstmal die etwas "weite" Frage, ob irgendwelche Sicherheitseinstellungen
oder fehlende Module beim betr. "Webspace" header() blockieren können.
Kann mir auch nur schwer vorstellen, dass die betr. php-Datei im falschen
Format auf den einen Server gekommen ist und deswegen schon irgendein
Zeichen ausgeliefert worden ist, und darum header() Porbleme macht.
Auf einem anderem Server mit PHP 5.2.1 laufen die Scripte, beim Problemfall
ist PHP 5.2.3 in Betrieb.
Grüsse
Cyx23
Hallo,
Auf einem anderem Server mit PHP 5.2.1 laufen die Scripte, beim Problemfall
ist PHP 5.2.3 in Betrieb.
Was bedeutet "beim Problemfall"?
Was läuft denn nicht?
Sind keine Header mehr setzbar?
Gibt es Fehlermeldungen, ggf. auch in eine Datei geschriebene? Das könntest Du ja ggf. so einstellen per htaccess-Datei oder lokaler php.ini
Läuft PHP dort als Modul oder als CGI oder als FastCGI?
Hast Du schon einen HTTP-Logger bemüht, um zu sehen, was überhaupt in welcher Reihenfolge ausgegeben wird?
LG
Chris©
Hallo,
header wie z.B. 403 läßt sich nicht ändern. Fehlermeldungen mag ich im
Moment wie schon angedeutet nicht aktivieren und frage deshalb ausnahmsweise
etwas ins Blaue hinein.
Falls es so zuviele Fehlermöglichkeiten gibt muß ich mal nen passenden
Zeitpunkt abwarten, um doch noch Meldungen einzuschalten und mehr Informationen
zu erhalten.
ggf. auch in eine Datei geschriebene
Du meinst per lokaler php.ini die Meldungen in eine Datei umleiten?
Grüsse
Cyx23
Hallo,
ggf. auch in eine Datei geschriebene
Du meinst per lokaler php.ini die Meldungen in eine Datei umleiten?
Ja, siehe Kapitel Error-Handling
http://de2.php.net/manual/en/ref.errorfunc.php
display_errors auf 0 setzen
error_reporting auf 2047 oder anderen passenden Wert setzen,
siehe http://de2.php.net/manual/en/ref.errorfunc.php#ini.error-log
error_log Filepath und Name setzen
log_errors auf 1 setzen
und Kapitel Settings
http://de2.php.net/manual/en/ini.php#ini.list
Je nachdem, ob es sich um eine Modul- oder eine CGI-Variante handelt, kannst Du das temporär in der .htaccess oder in einer lokalen (zusätzlichen) php.ini tun.
Die Werte sind alle mit PHP_INI_ALL gekennzeichnet.
Wenn dann also niemand in einer übergeordenten .htaccess oder in der Virt-Host-Konfiguratuion (Modul-Version) einen der Werte mit php_admin_value festgenagelt hat, darfst Du sie ändern.
Sonst Musst Du ggf. eben an die Grundkonfiguration rangehen, was ich aber nicht tun würde. Übrigens lassen sich über die Rewrite-Engine auch Server-Parameter ins PHP-Environment importieren, was bestens dazu geeignet ist, ein kondionales DEBUG-Flag (oder mehrere) zu setzen.
Alle Debug-Anweisungen können so drinbleiben in den Scripten, müssen nur z.B. mit
if (isset($_SERVER['PHP_DEBUG']) and $_SERVER['PHP_DEBUG']) == 'M12345' )
{
do_log(); ## eigene Funktion
}
abgefangen werden.
Um Bereiche abzugrenzen, bekommen einzelne Module bei mir immer eindeutige Nummern, so kann ich dann nur einen teil der schlafenden Debug-Informationen abrufen.
Lass mal wissen, ob es Dir genützt hat.
LG
Chris©