| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

27-08-2009, 14:02
|
|
ways
Member
|
|
Registriert seit: Nov 2003
Ort: Berlin-West :-)
Beiträge: 386
|
|
Hilfetips für Fehlersuche
Hi Leute,
könnte mir jemand tips zu meiner fehlersuche geben?
Ich habe ein script, welches beim Aufruf über den Browser anstandslos funktioniert, wenn ich das aber als cronjob laufen lasse, dann geht das nicht mehr.
ich hab das gefühl, dass es die Methode ftp_get ist, die mir da schwierigkeiten macht, aber ich weiß nicht wie ich rausfinden wieso das so ist
weiß da jemand ein wenig rat ?
__________________
Coder never die, they just GOSUB without RETURN
Mein System
|

27-08-2009, 14:04
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Logfiles. Reingucken!
|

27-08-2009, 14:06
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
kommt denn keine Fehlermeldung? Was genau funktioniert denn nicht?
Tipps:
- sicherstellen, dass der Cronjob nicht eine andere PHP-Installation für CLI verwendet, als die für SAPI.
- display_startup_errors anschalten, falls Extensions fehlen oder sonst irgendwas in der php.ini nicht stimmt.
Gruß,
Anja
|

27-08-2009, 14:09
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Tipp #1: Lernen, dass "geht nicht" absolut keine Problembeschreibung ist.
Tipp #2: Grundlegende Debug-Techniken erlernen, so dass du schon erste Erkenntnisse vorliegen hast, bevor du dich genötigt siehst, ein "funzt nich"-Posting zu verfassen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

27-08-2009, 14:36
|
|
ways
Member
|
|
Registriert seit: Nov 2003
Ort: Berlin-West :-)
Beiträge: 386
|
|
die logfiles melden mir nur den zugriff per Browser:
HTTP/1.1" 200 88 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2"
aber ich hab mir die fehlercodes mit error_reporting(E_ALL); ausgeben lassen:
6135.
@wahsaga:
Das mit dem Debug-KnowHow ist sicher nötig, ohne wenn und aber.
Dann würde ich mich warscheinlich auch nicht so rumquälen.
@AmicaNoctis
scheinbar geht das ftp_get() nicht, wenn ich es per cronjob laufen lassen.
die datei ist da, das verzeichnis... und der test als browseraufruf funktioniert ja einwandfrei.
wie kann ich sicherstellen, dass der Cronjob nicht eine andere PHP-Installation für CLI verwendet, als die für SAPI ?
__________________
Coder never die, they just GOSUB without RETURN
Mein System
|

27-08-2009, 14:46
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Zitat:
|
wie kann ich sicherstellen, dass der Cronjob nicht eine andere PHP-Installation für CLI verwendet,
|
In dem du ihn per wget, cronjob.de o.ä. aufrufst.
Aber warum?
Stell die Pfade richtig ein, dann klappt das auch.
Zitat:
|
Das mit dem Debug-KnowHow ist sicher nötig,
|
Jawoll!
Erzeuge einen eigenen Errorhandler, Bau dir ein eigenes Logging.
Übe, übe, übe.....
Mache Kontrollausgaben.
usw.
Zitat:
|
ich hab das gefühl, dass es die Methode ftp_get ist, die mir da schwierigkeiten macht
|
Überprüfe das, lass dir die Fehler zeigen, lass dir die Parameter zeigen.
Zitat:
aber ich hab mir die fehlercodes mit error_reporting(E_ALL); ausgeben lassen:
6135.
|
Und was bedeutet 6135 ???   
Bitte lesen und anwenden: http://de.php.net/manual/de/book.errorfunc.php
Geändert von combie (27-08-2009 um 14:52 Uhr)
|

27-08-2009, 14:47
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von ways
aber ich hab mir die fehlercodes mit error_reporting(E_ALL); ausgeben lassen:
6135.
|
Ähm, das ist aber kein Fehlercode, sondern das Loglevel, das vorher eingestellt war. Trotzdem ist error_reporting(E_ALL) nicht verkehrt, auch wenn du es falsch verstanden hast. In Wirklichkeit sorgt es dafür, dass alle Fehlermeldungen ausgegeben oder geloggt werden, Welches von beiden passiert und wo sie ggf. geloggt werden, hängt wieder von anderen Einstellungen ab.
Das Log, das du gefunden hast, sieht wie ein access.log aus. Findest du dort auch ein error.log? Das brauchst du.
Gruß,
Anja
|

27-08-2009, 23:46
|
|
ways
Member
|
|
Registriert seit: Nov 2003
Ort: Berlin-West :-)
Beiträge: 386
|
|
Zitat:
Zitat von AmicaNoctis
Ähm, das ist aber kein Fehlercode, sondern das Loglevel, das vorher eingestellt war. Trotzdem ist error_reporting(E_ALL) nicht verkehrt, auch wenn du es falsch verstanden hast. In Wirklichkeit sorgt es dafür, dass alle Fehlermeldungen ausgegeben oder geloggt werden, Welches von beiden passiert und wo sie ggf. geloggt werden, hängt wieder von anderen Einstellungen ab.
Das Log, das du gefunden hast, sieht wie ein access.log aus. Findest du dort auch ein error.log? Das brauchst du.
Gruß,
Anja
|
Nabend!
ja, blöd.. es heisst sogar access_log !  error_logs kann ich leider nirgens entdecken und über die confixx auch nicht aktivieren oder so ...
gibts es eine Möglichkeit mir diese generieren zu lassen ?
auf meinem lokalen wamp hab ich sowas und nutze es auch immer... sehr hilfreich... aber bei meinem hoster scheint sowas nicht "drin" zu sein...
es ist sehr ärgerlich, dass ein script im vrowseraufruf geht, aber als cronjob nicht..
mittlerweile hab ich mir mal die systememails zuschicken lassen, was der cronjob für ein fehler meldet und der verwirrt mich erst recht, denn diesen kennen ich, kann ihn mit meinem KnowHow level aber nicht erklären !
Warning: ftp_get(/files_archives/mbln2009082724.csv.gz): failed to open stream: No such file or directory in /var/www/web/html/index.php on line 29
wieso erhalte ich diese Meldung nicht, wenn ich das script im Browser aufrufe... sondern alles klappt... ohne fehler, warnhinweis... und auch der Download der oben genannten *gz file klappt anstandslos !
wie kann denn ein Pfad so exestieren, aber für den cronjob nicht?
__________________
Coder never die, they just GOSUB without RETURN
Mein System
|

27-08-2009, 23:58
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Vergleiche die Pfade!!
(aber da sagte ich schon)
getcwd() wirds wohl ans Licht bringen.
|

28-08-2009, 00:07
|
|
ways
Member
|
|
Registriert seit: Nov 2003
Ort: Berlin-West :-)
Beiträge: 386
|
|
bin auch schon dabei, mir solch ein error-logger zu schreiben...
das brauch ich ja echt.... so gehts das ja mal gar nicht !
@combie:
ok, ich werd das gleich mal mit getcwd() prüfen... mal gucken, ob ich anfange zu weinen  denn ich habe sicher schon 10 std qualen investiert...
__________________
Coder never die, they just GOSUB without RETURN
Mein System
|

28-08-2009, 00:22
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Es kann auch an den Rechten liegen. PHP-Skripte die über den Server gehen (SAPI) laufen über den Benutzeraccount des Webservers und der hat unter Umständen andere Rechte auf die entsprechenden Verzeichnisse, als der Benutzeraccount für Kommandozeilenversion von PHP (CLI). Frag doch mal beim Hoster nach, ob das so ist.
Bis dahin kannst du versuchen, ob du mit einem SAPI-PHP-Skript die Rechte der Ordner verändern kannst, so dass auch CLI darauf zugreifen kann: 666 für Dateien, 777 für Verzeichnisse.
|

28-08-2009, 00:29
|
|
ways
Member
|
|
Registriert seit: Nov 2003
Ort: Berlin-West :-)
Beiträge: 386
|
|
Zitat:
Zitat von combie
Vergleiche die Pfade!!
(aber da sagte ich schon)
getcwd() wirds wohl ans Licht bringen.
|
nun hast du mich zum weinen gebracht !
ich konnte den fehler aufdecken, wie es scheint !
ABER dennoch wäre es echt lieb, wenn mir jemand diesen umstand einfach mal erklären könnte... das sind ja dinge, die man echt nicht in büchern lernt.. zumindest nicht in meinen
wieso reicht (z.b bei der function ftp_get) die man über ein script im browser aufruft eine relative pfadangabe und das gleiche script als cronjob aber nicht, denn wie ich nun feststelle, benötigt es hierbei die absolute pfadangabe vom serververzeichnis !
ein kurzer hinweis würde mir schon die tränen trocken
__________________
Coder never die, they just GOSUB without RETURN
Mein System
|

28-08-2009, 00:33
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
SAPI-PHP-Skripte werden normalerweise in dem Verzeichnis ausgeführt, wo sie liegen. Relative Pfadangaben beziehen sich demnach auf dieses Verzeichnis.
CLI-Skripte dagegen starten normalerweise in dem Verzeichnis, wo PHP installiert ist. Am besten arbeitest du immer mit absoluten Pfaden.
Ab PHP5.3: file_get_contents(__DIR__ . "/relativer/Pfad/wie vorher.ext");
Vor PHP5.3: file_get_contents(dirname(__FILE__) . "/relativer/Pfad/wie vorher.ext");
Dann kann nichts mehr schief gehen.
|

28-08-2009, 00:38
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Zitat:
Zitat von AmicaNoctis
CLI-Skripte dagegen starten normalerweise in dem Verzeichnis, wo PHP installiert ist. Am besten arbeitest du immer mit absoluten Pfaden.
|
Nein, im aktuelle Arbeitsverzeichnis.
|

28-08-2009, 00:42
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von PHP-Desaster
Nein, im aktuelle Arbeitsverzeichnis.
|
Klar, sorry. Wie kam ich denn darauf?
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
Ähnliche Themen
|
| Thema |
Autor |
Forum |
Antworten |
Letzter Beitrag |
|
Fehlersuche ...
|
steiner82 |
HTML, JavaScript, AJAX und CSS |
4 |
13-07-2005 15:07 |
|
Fehlersuche
|
Ocean |
SQL / Datenbanken |
8 |
17-08-2004 23:54 |
|
Fehlersuche!
|
Mc. |
PHP Developer Forum |
6 |
22-01-2004 01:11 |
|
Fehlersuche!
|
Mc. |
SQL / Datenbanken |
7 |
16-01-2004 23:39 |
|
Fehlersuche
|
Eni |
HTML, JavaScript, AJAX und CSS |
9 |
09-01-2004 16:00 |
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|