Heim >Backend-Entwicklung >PHP-Tutorial >Linux - log4php-Eingabeaufforderungen während der Verwendung: Die Konfigurationsdatei kann nicht geladen werden
Das Folgende ist eine Zeile des Nginx-Fehlerprotokolls. Um die Anzeige zu erleichtern, habe ich sie für alle getrennt:
<code>016/08/14 14:34:49 [error] 2819#0: *59 FastCGI sent in stderr: "PHP message: PHP Warning: log4php: Configuration failed. Error loading configuration file: failed to load external entity "/alidata1/****/logger_conf.xml" Using default configuration. in /alidata1/****/configurators/LoggerConfiguratorDefault.php on line 475" while reading response header from upstream, client: 101.226.103.72, server: ****, request: "POST /share/notify HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "*****" </code>Situationseinführung
1. Rufen Sie Logger::getRootLogger auf, verweisen Sie am Eingang auf Log4php und laden Sie gleichzeitig Logger.configure('*').
2. Ich vermute, dass es daran liegt, dass ich die Berechtigungen von Nginx einmal angepasst habe, aber jetzt habe ich sie auf „Niemand“ geändert. (Aber dieser Verdacht entbehrt jeder Grundlage. Ich habe Nginx unzählige Male neu gestartet)
3. Diese Situation ist gut und schlecht, manchmal kann ich Logger verwenden, um die Ausgabe normal zu drucken, aber meistens wird der oben genannte Fehler gemeldet. (Dies zeigt auch, dass es kein Problem mit den Konfigurationsdateiberechtigungen gibt). Manchmal wird es besser, wenn ich php-fpm neu starte, aber es besteht überhaupt keine Verbindung. Der Arbeitsprozess von php-fpm hat auch keine Berechtigungen
Ich habe die Situationen bestätigt, die ausgeschlossen werden können
<code>1. 文件确实存在,文件的权限已经是777.(甚至文件路径中权限我都修改成了777) </code>
Hat jemand das gleiche Problem festgestellt? Ich rufe jetzt Logger.configure() auf, um die aufrufende Datei anzugeben. Können Sie mir helfen, einen Blick darauf zu werfen?
Antwortinhalt:
Das Folgende ist eine Zeile des Nginx-Fehlerprotokolls. Um die Anzeige zu erleichtern, habe ich sie für alle getrennt:
<code>016/08/14 14:34:49 [error] 2819#0: *59 FastCGI sent in stderr: "PHP message: PHP Warning: log4php: Configuration failed. Error loading configuration file: failed to load external entity "/alidata1/****/logger_conf.xml" Using default configuration. in /alidata1/****/configurators/LoggerConfiguratorDefault.php on line 475" while reading response header from upstream, client: 101.226.103.72, server: ****, request: "POST /share/notify HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "*****" </code>Situationseinführung
1. Rufen Sie Logger::getRootLogger auf, verweisen Sie am Eingang auf Log4php und laden Sie gleichzeitig Logger.configure('*').
2. Ich vermute, dass es daran liegt, dass ich die Berechtigungen von Nginx einmal angepasst habe, aber jetzt habe ich sie auf „Niemand“ geändert. (Aber dieser Verdacht entbehrt jeder Grundlage. Ich habe Nginx unzählige Male neu gestartet)3. Diese Situation kann manchmal gut und schlecht sein, um die Ausgabe normal zu drucken, aber meistens wird der oben genannte Fehler gemeldet. (Dies zeigt auch, dass es kein Problem mit den Konfigurationsdateiberechtigungen gibt). Manchmal wird es besser, wenn ich php-fpm neu starte, aber es besteht überhaupt keine Verbindung. Der Arbeitsprozess von php-fpm hat auch keine Berechtigungen
Ich habe die Situationen bestätigt, die ausgeschlossen werden können
<code>1. 文件确实存在,文件的权限已经是777.(甚至文件路径中权限我都修改成了777) </code>Hat jemand das gleiche Problem festgestellt? Ich rufe jetzt Logger.configure() auf, um die aufrufende Datei anzugeben. Können Sie mir helfen, einen Blick darauf zu werfen?
Lösung des Problems
Vielen Dank für diesen Artikel, bitte klicken Sie zum Anzeigen
Meine log4php.properties
PHP-Initialisierung
<code>log4php.rootLogger=INFO, stderr, stdout, file log4php.appender.stdout=LoggerAppenderConsole log4php.appender.stdout.layout=LoggerLayoutPattern log4php.appender.stdout.layout.ConversionPattern=%date{ISO8601} [%p] %m%n log4php.appender.stdout.threshold=INFO log4php.appender.stderr=LoggerAppenderConsole log4php.appender.stderr.layout=LoggerLayoutPattern log4php.appender.stderr.target=stderr log4php.appender.stderr.threshold=ERROR log4php.appender.stderr.layout.ConversionPattern=%date{ISO8601} [%p] [%l] %m%n log4php.appender.file=LoggerAppenderDailyFile log4php.appender.file.layout=LoggerLayoutPattern log4php.appender.file.threshold=ERROR log4php.appender.file.file=commands/logs/%s-error.log log4php.appender.file.layout.ConversionPattern=%date{ISO8601} [%p] [%l] %m%n</code>