linux - log4php在使用过程中提示:配置文件无法加载
下面是一行nginx错误日志,为了便于查看,我给大家做了分隔:
<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>Copier après la connexionCopier après la connexion情况介绍
1.使用Logger::getRootLogger调用,在入口处,引用Log4php,同时Logger.configure('*')加载。
2.之前没有出现这个问题,我怀疑是因为我调整过一次nginx的权限出现的问题,之前nginx的用户是apache,现在我修改成了nobody。(但是这种怀疑没有依据,我已经重启无数次nginx了)
3.这种情况时好时坏,有的时候我可以正常使用Logger来打印输出,但大多数的时候会报上面的错误。(这从侧面也说明配置文件权限没有问题)。我重启php-fpm有时候会好,但这里面有多少关系,感觉没有任何联系。php-fpm的work进程也是nobody权限
我已经确认可以排除的情况
<code>1. 文件确实存在,文件的权限已经是777.(甚至文件路径中权限我都修改成了777) </code>
有谁遇到了同样的问题,我现在在入口处调用了Logger.configure()来指定调用文件,为啥会出现上面的错误,大家帮忙看一看
回复内容:
下面是一行nginx错误日志,为了便于查看,我给大家做了分隔:
<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>Copier après la connexionCopier après la connexion情况介绍
1.使用Logger::getRootLogger调用,在入口处,引用Log4php,同时Logger.configure('*')加载。
2.之前没有出现这个问题,我怀疑是因为我调整过一次nginx的权限出现的问题,之前nginx的用户是apache,现在我修改成了nobody。(但是这种怀疑没有依据,我已经重启无数次nginx了)
3.这种情况时好时坏,有的时候我可以正常使用Logger来打印输出,但大多数的时候会报上面的错误。(这从侧面也说明配置文件权限没有问题)。我重启php-fpm有时候会好,但这里面有多少关系,感觉没有任何联系。php-fpm的work进程也是nobody权限
我已经确认可以排除的情况
<code>1. 文件确实存在,文件的权限已经是777.(甚至文件路径中权限我都修改成了777) </code>
有谁遇到了同样的问题,我现在在入口处调用了Logger.configure()来指定调用文件,为啥会出现上面的错误,大家帮忙看一看
问题的解决办法
感谢这篇文章,请点击查看
简短介绍一下问题的原因:引入的类中包含了这个函数:libxml_disable_entity_loader
我的log4php.properties
<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>
PHP初始化
<code>\Logger::configure(__DIR__ . '/log4php.properties'); $logger = \Logger::getLogger('default'); $logger->info('xxx');</code>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Deepseek est un puissant outil de recherche et d'analyse intelligent qui fournit deux méthodes d'accès: la version Web et le site officiel. La version Web est pratique et efficace et peut être utilisée sans installation; Que ce soit des individus ou des utilisateurs d'entreprise, ils peuvent facilement obtenir et analyser des données massives via Deepseek pour améliorer l'efficacité du travail, aider la prise de décision et promouvoir l'innovation.

Il existe de nombreuses façons d'installer Deepseek, notamment: Compiler à partir de Source (pour les développeurs expérimentés) en utilisant des packages précompilés (pour les utilisateurs de Windows) à l'aide de conteneurs Docker (pour le plus pratique, pas besoin de s'inquiéter de la compatibilité), quelle que soit la méthode que vous choisissez, veuillez lire Les documents officiels documentent soigneusement et les préparent pleinement à éviter des problèmes inutiles.

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Bitget est un échange de crypto-monnaie qui fournit une variété de services de trading, notamment le trading au comptant, le trading de contrats et les dérivés. Fondée en 2018, l'échange est basée à Singapour et s'engage à fournir aux utilisateurs une plate-forme de trading sûre et fiable. Bitget propose une variété de paires de trading, notamment BTC / USDT, ETH / USDT et XRP / USDT. De plus, l'échange a une réputation de sécurité et de liquidité et offre une variété de fonctionnalités telles que les types de commandes premium, le trading à effet de levier et le support client 24/7.

OUYI OKX, le premier échange mondial d'actifs numériques, a maintenant lancé un package d'installation officiel pour offrir une expérience de trading sûre et pratique. Le package d'installation OKX de OUYI n'a pas besoin d'être accessible via un navigateur. Le processus d'installation est simple et facile à comprendre.

Gate.io est un échange de crypto-monnaie populaire que les utilisateurs peuvent utiliser en téléchargeant son package d'installation et en l'installant sur leurs appareils. Les étapes pour obtenir le package d'installation sont les suivantes: Visitez le site officiel de Gate.io, cliquez sur "Télécharger", sélectionnez le système d'exploitation correspondant (Windows, Mac ou Linux) et téléchargez le package d'installation sur votre ordinateur. Il est recommandé de désactiver temporairement les logiciels antivirus ou le pare-feu pendant l'installation pour assurer une installation fluide. Une fois terminé, l'utilisateur doit créer un compte Gate.io pour commencer à l'utiliser.
