staging.inyokaproject.org

php error_log directive in php.ini wird ignoriert

Status: Gelöst | Ubuntu-Version: Lubuntu 18.04 (Bionic Beaver)
Antworten |

randalf

Avatar von randalf

Anmeldungsdatum:
29. Mai 2011

Beiträge: 58

Hallo zusammen,

ich nutze apache2.4 und php 7.2.24 (beides regulär über die Paketverwaltung installiert).

Bis jetzt werden php-errors geschrieben nach /var/log/apache2/error.log. Das möchte ich gerne ändern und habe die Einstellung in /etc/php/7.2/apache2/php.ini so ergänzt (bisher auskommentiert):

1
error_log = /var/log/php_error.log

Leider ist das wirkungslos. Auch nach komplettem Neustart. php-errors werden immernoch nach /var/log/apache2/error.log geschrieben.

Wo ist der Fehler?

verdooft

Anmeldungsdatum:
15. September 2012

Beiträge: 4450

Schau mal in der Datei, in der der virtuelle Host festgelegt ist. Eine Einstellung dort würde die aus der php.ini eventuell überschreiben.

https://wiki.ubuntuusers.de/Apache/Virtual_Hosts/

Ich habe in einer Config eines virtuellen Hosts sowas (verwende allerdings Arch Linux):

ErrorLog "/pfad/logdatei"

Es werden nicht nur php7:error Fehler geloggt, sondern z.B. auch autoindex:error, nicht nur PHP-bezogene also. Zudem ist es möglich, dass www-data in /var/logs nicht direkt schreiben kann, da könnte es helfen, die Datei anzulegen und die Rechte anzupassen. Ein uralter Thread zu einer anderen PHP Version, aber die Antwort mit den 71 Likes könnte trotzdem prinzipiell passen:

https://askubuntu.com/questions/14763/where-are-the-apache-and-php-log-files

Falls du mit den Linuxrechten noch nicht vertraut bist, empfehle ich, das vor Änderungen hier im Wiki nachzulesen.

randalf

(Themenstarter)
Avatar von randalf

Anmeldungsdatum:
29. Mai 2011

Beiträge: 58

@verdooft

Hey, gute Tipps. Einen "verdächtigen" Eintrag habe ich dank dessen schon mal in apache2.conf aufgespürt:

# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here. ...
ErrorLog ${APACHE_LOG_DIR}/error.log

Klingt so, als greife sich der Apache-Server sämtliche Logs, wenn er nicht durch zusätzliche ErrorLog-Direktive daran gehindert wird. Das habe ich für php natürlich bis jetzt nicht getan. Ich teste das mal durch ...

randalf

(Themenstarter)
Avatar von randalf

Anmeldungsdatum:
29. Mai 2011

Beiträge: 58

@verdooft

Ok, ich habs.

Da es mir nicht um virtual-Host-spezifische Logfiles geht, ist die hier:

https://askubuntu.com/questions/14763/where-are-the-apache-and-php-log-files

beschriebene Lösung völlig ausreichend. Kurioserweise war ich im Vorfeld selbst auf diesem Weg, hatte nur leider als owner "www" verwendet, nicht "www-data". Hätte ich das geahnt ...

Jedenfalls vielen Dank für deine Hilfe!

Antworten |