root@localhost Geschrieben 15. März 2002 Geschrieben 15. März 2002 hallo jungs und mäidls, bei mir lauft jetzt endlich mod_php4 auf SuSe 7.3. da freut man sich richtig das man loslegen kann.... und dann kann man nicht mal ne datei öffnen: $mypasswd = fopen("passwd","r") || die("Konnte die Passwortdatei nicht oeffen!"); so öffne ich die datei die sich in dem lokalen Verz. befindet. Es gibt keine Fehlermeldung zurück also denk ich mir mal sie ist geöffnet. oder ??? naja sobald ich auf das filehandle $mypasswd zugreifen will sei es nur um es wieder zu schließen: fclose($mypasswd); gibts diese Fehlermeldung zurück: Warning: Supplied argument is not a valid File-Handle resource in /www/htdocs/squid/admin/auth.php on line 22 ziemlich komisch würde ich sagen. Rechte auch das verzeichniss squid: drwxrwxrwx 3 root root 56 Mar 14 14:40 squid Rechte auf verzeichniss admin: drwxrwxrwx 2 root root 81 Mar 15 10:55 admin Rechte auf die Files: -rwxrwxrwx 1 root root 588 Mar 15 10:49 auth.php -rwxrwxrwx 1 root root 21 Mar 14 14:40 passwd wenn man sich das filehandle $mypasswd ausgeben läßt steht 1 da. is das TRUE oder FALSE oder Normal?????? was geht???? unser admin kann mir auch nicht helfen. kennt wer das problem danke für jede antwort servas R==T Zitieren
Valium Geschrieben 15. März 2002 Geschrieben 15. März 2002 Original geschrieben von root@localhost bei mir lauft jetzt endlich mod_php4 auf SuSe 7.3. da freut man sich richtig das man loslegen kann.... Es ist immer noch Suse... und dann kann man nicht mal ne datei öffnen: Kann man, wenn man nichts falsch macht. $mypasswd = fopen("passwd","r") || die("Konnte die Passwortdatei nicht oeffen!"); Das Skript stirbt an dieser Stelle nicht, also sollte alles Funktionieren. naja sobald ich auf das filehandle $mypasswd zugreifen will sei es nur um es wieder zu schließen: Warning: Supplied argument is not a valid File-Handle resource in /www/htdocs/squid/admin/auth.php on line 22 Das hört sich danach an, als wenn $mypasswd vorher schon ge-fclosed() wurde. Habs hier eben mal getestet und auch wenn ich die Dateien die ich öffne mit anderen Rechten versehe, so kommt zumindest eine andere aussagekräftige Fehlermeldung. wenn man sich das filehandle $mypasswd ausgeben läßt steht 1 da. is das TRUE oder FALSE oder Normal?????? 1 = TRUE 0 = FALSE Kannst Du das .phps der Skriptes mal online stellen damit man sich das mal anschauen kann? Kannst Du andere Operationen mit der geöffneten Datei machen? Also klappt das Auslesen denn? Zitieren
Valium Geschrieben 15. März 2002 Geschrieben 15. März 2002 Ah, Fehler wahrscheinlich gefunden: http://www.php.net/manual/en/function.fopen.php slevy1 at pipeline.com schreibt das was: If you are used to writing script like do something || die("no can do"); note that in php || has a higher precedence than = So, don't write: $h = fopen("$filename", "r") || die("cannot open $filename"); b/c this will overwrite the file ptr! Now, or has a lower precedence than || and is also lower than = So, you may write: $h = fopen("$filename","r") or die("cannot open $filename"); However, you may avoid the entire issue with code like this: $h = fopen("$filename","r"); if (!$h) { die("unable to open $filename"); } [/php] Probier das mal aus, wenns hilft niemals || die schreiben sondern immer 'or die', oder erst später überprüfen ob der Filehandler gesetzt ist. Zitieren
root@localhost Geschrieben 15. März 2002 Autor Geschrieben 15. März 2002 yep merci. ich dachte immer || und or sind gleich man lernt ja nie aus danke jetzt kanns weiter gehn................ bis zum nächsten mal Zitieren
Valium Geschrieben 15. März 2002 Geschrieben 15. März 2002 bis zum nächsten mal *versteckt* Bitteschön. Ach ja, das nächste Mal selber bei www.php.net schauen, was anderes hab ich nähmlich auch nicht gemacht. Zitieren
root@localhost Geschrieben 15. März 2002 Autor Geschrieben 15. März 2002 Ach ja, das nächste Mal selber bei www.php.net schauen, was anderes hab ich nähmlich auch nicht gemacht. hab ich ja aber ich hätt nie dran gedacht das das || die Ursache war muss i nächsts mal bessa schaun Zitieren
Valium Geschrieben 15. März 2002 Geschrieben 15. März 2002 Genau, und auch mal die Usercomments lesen, da stands drinne. Meistens gibts schon andere Leute die das gleiche Problem vor Dir hatten. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.