Project

General

Profile

Bug #7714

autocron fails to open logfiles

Added by Nicola Chiapolini almost 2 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
22.01.2019
Due date:
% Done:

100%

Estimated time:
Discuss:

Description

PHP Warning: fopen(fileadmin/protected/log/sql.log): failed to open stream: No such file or directory in /var/www/htdocs/typo3conf/ext/qfq/Source/core/helper/Logger.php on line 44

Ich vermute das Problem ist, dass autocron.php nicht in API_DIR_EXT = 'Source/api' liegt...

#1

Updated by Nicola Chiapolini almost 2 years ago

Das Problem war doch an einem anderen Ort: Working directory für `www-data`s cron jobs ist `/var/www/`, meine QFQ-Version ist aber nicht dort installiert...
Ein passendes `cd /var/www/... && ` zu beginn des Crontab-Eintrags löst das Problem.

Unklar ist mir, weshalb das vor dem Update funktioniert hatte... habt ihr da sonst noch etwas angepasst?

#2

Updated by Carsten Rose almost 2 years ago

  • Status changed from New to Feedback
  • Assignee set to Carsten Rose

Hallo Nicola

kannst mal Deinen OS Cron Eintrag posten?

Bei uns funktioniert es wie angegeben in https://docs.typo3.org/typo3cms/drafts/github/T3DocumentationStarter/Public-Info-053/Manual.html#id81

Vielen Dank

CU
Carsten

#3

Updated by Nicola Chiapolini almost 2 years ago

OK, habe das Problem gefunden...

Erstaunlicherweise haben die exakt gleichen Einstellungen auf dem Produktiv-System zu einer einzigen (ähnlichen) Fehler-Meldung geführt, danach hat alles funktioniert.
Entsprechend bin ich dann zurück und habe Unterschiede zwischen den beiden Systemen gesucht. Das hat viel länger gedauert als nötig, wie üblich sieht oder versteht man die Hinweise erst im Nachhinein :-)

Anyway:
Das Problem ist tatsächlich, dass wir typo3 nicht im Home von www-data /var/www sondern in /var/www/htdocs/ installiert haben.
Entsprechechend findet sich der fileadmin unter /var/www/htdocs/fileadmin. Die Cron-Jobs von www-data werden aber in dem entsprechenden Home ausgeführt (und nicht wie das Form von Autocron behauptet im "CWD: Site installation directory")
und das log nach /var/www/fileadmin/ geschrieben.
Falls der Ordner nicht existiert, wird der beim ersten Ausführen von autocron.php angelegt. Auf dem Entwicklungssystem gehört /var/www aber root und so hat auch das Anlegen fehlgeschlagen.

Das Problem lässt sich also an verschiedenen Stellen lösen:
- autocron.php könnte das Log wirklich relativ zum Site installation directory schreiben
- der Cronjob kann als * * * * * cd /var/www/htdocs && /usr/bin/php /var/www/htdocs/typo3conf/ext/qfq/Source/external/autocron.php definiert werden
- im autocron-Eintrag kann der Log-Pfad relativ zum Home von www-data oder als absoluter Pfad eingetragen werden

Ich gehe vorerst mit der zweiten Option.

#4

Updated by Carsten Rose almost 2 years ago

  • Target version set to 141
#5

Updated by Carsten Rose almost 2 years ago

  • Status changed from Feedback to Closed
  • % Done changed from 0 to 100
#6

Updated by Carsten Rose almost 2 years ago

  • Target version changed from 141 to 146

Hallo Nicola

Danke fuer den Report - mittlerweile hat sich herausgestellt das wir das gleiche Problem haben. Sollte mit der kommenden 19.2.0 gefixt sein.

CU
Carsten

#7

Updated by Carsten Rose almost 2 years ago

  • Target version changed from 146 to 19.2.0

Also available in: Atom PDF