Warning: fopen failed to open stream: Success
jobo
- php
0 ChrisB0 Alexander (HH)0 jobo1 ChrisB
0 dedlfix
0 Alexander (HH)0 jobo
Hallo,
irgendwie läuft auf dem Server zwar php5, wenn man über den Browser geht, über die Shell kommt aber mit php myphp.php nur php4. Issich Yast und Suse, weiß nicht wie machen. Wollte auch nur cron testen.
Nehm ich jetzt fopen, kommt
Warning: fopen(/home/testuser/myphp.log): failed to open stream: Success in /home/testuser/myphp.php on line 6
Rechte sind auf 777. Warum kann php nicht öffnen, schreibt aber dennoch "Success"?
Ich weiß, ich sollte einfach php5 nehmen, mit file_get_contents [da meckert php4 nicht] und file_put_contents [das kann php4 nicht].
Gruß
jobo
Hi,
Nehm ich jetzt fopen, kommt
Warning: fopen(/home/testuser/myphp.log): failed to open stream: Success in /home/testuser/myphp.php on line 6
Code an der Stelle?
MfG ChrisB
Moin Moin!
Warning: fopen(/home/testuser/myphp.log): failed to open stream: Success in /home/testuser/myphp.php on line 6
Rechte sind auf 777.
Blöde Idee, wenigstens auf einem öffentlich zugänglichen Server. Stell die Rechte minimal ein, nicht maximal. Verhindere wenigstens den Schreibzugriff für Group und Other, also 755. Besser noch 751, 711 oder ideal 700.
Warum kann php nicht öffnen, schreibt aber dennoch "Success"?
Zeig den relevanten Code, copy&paste. Du scheinst in die Fehler-Bedingung zu rennen, ohne dass wirklich ein Fehler auftrat.
Alexander
Hallo,
Moin Moin!
Warning: fopen(/home/testuser/myphp.log): failed to open stream: Success in /home/testuser/myphp.php on line 6
Rechte sind auf 777.
Blöde Idee, wenigstens auf einem öffentlich zugänglichen Server. Stell die Rechte minimal ein, nicht maximal. Verhindere wenigstens den Schreibzugriff für Group und Other, also 755. Besser noch 751, 711 oder ideal 700.
Naja, ich wollte jeder Fehlerquelle ausschließen. Vielleicht sollte sich php die datei selbst anlegen, dann ists auch der Owner. Bzw. wenn ich es über shell/cron starte, ist der User ja der Skriptrunner also läuft das PHP-Skript im Namen des Users, oder?
Warum kann php nicht öffnen, schreibt aber dennoch "Success"?
Zeig den relevanten Code, copy&paste. Du scheinst in die Fehler-Bedingung zu rennen, ohne dass wirklich ein Fehler auftrat.
if ($fh = fopen("/home/testuser/myphp.log",+w)) {
Wie kann ich denn unter suse php5 als clientversion installieren? Die Apache-Extension habe ich per Hand installiert, aber bisher --without-cli. Somit gibt es dann wohl keine shell-lauffähige Fassung davon.
Gruß
jobo
Hi,
if ($fh = fopen("/home/testuser/myphp.log",+w)) {
^^
Weisst du, was Google für Suche nach fopen failed to open stream: Success aktuell als ersten Treffer liefert?
Das hier: http://benjisimon.blogspot.com/2009/07/gotcha-of-day-fopen-failed-to-open.html
Abgesehen davon, dass du keinen Stringwert als zweiten Parameter übergeben hast, wäre bei Ausbesserung dessen das dort beschriebene genau dein Problem.
Also, schreib dir bitte JFGI hinter die Ohren, Danke.
MfG ChrisB
Hi!
Rechte sind auf 777.
Blöde Idee, wenigstens auf einem öffentlich zugänglichen Server. Stell die Rechte minimal ein, nicht maximal. Verhindere wenigstens den Schreibzugriff für Group und Other, also 755. Besser noch 751, 711 oder ideal 700.
Wozu braucht man das Executable-Recht für eine Log-Datei? Besser 6 statt 7, 4 statt 5 und 0 statt 1.
jobo: Selbst wenn du zum Test höhere Rechte als notwendig vergibst - setze sie mit Verstand und nicht mit dem Holzhammer.
Lo!
Moin Moin!
Rechte sind auf 777.
^-- Das ist nicht eindeutig, ich hab das routinemäßig als Verzeichnisrechte gelesen.
Blöde Idee, wenigstens auf einem öffentlich zugänglichen Server. Stell die Rechte minimal ein, nicht maximal. Verhindere wenigstens den Schreibzugriff für Group und Other, also 755. Besser noch 751, 711 oder ideal 700.
Wozu braucht man das Executable-Recht für eine Log-Datei?
Für das Verzeichnis, in das die Datei geschrieben werden soll.
Besser 6 statt 7, 4 statt 5 und 0 statt 1.
Richtig, für Dateien.
Alexander
Hallo,
jobo: Selbst wenn du zum Test höhere Rechte als notwendig vergibst - setze sie mit Verstand und nicht mit dem Holzhammer.
Ja, der Verstand sagte mir: mach erstmal alle Türen auf, dann _muss_ es ja gehen, zumachen kannst du sie immer noch. Stand ja nix drin außer ein datum alle 5 Minuten, bzw. sollte. Das mit dem Verzeichnis ist natürlich richtig.
Gruß
jobo