6
votes

Comment puis-je configurer ERROR_LOG par dossier?

Ma société a un grand hébergement, mais cela n'est pas géré par nous, nous ne voyons pas les fichiers de configuration, mais je souhaite répondre à cette fonctionnalité sur notre serveur de test local.

Je suis nouveau dans ma compagnie et je veux démarrer un débogage d'applications pour corriger des problèmes de mineurs et de majors aux clients, mais la quantité de fichiers est si grosse que Single error_file est énorme .. Et il y a beaucoup de gens qui travaillent à ce sujet chaque fois que je vérifie le journal (comme 30 secondes à 1 min) a des centaines de lignes supplémentaires.

Je ne sais pas si cela est configuré sur Apache, via .htaccess fichiers ou dans php.ini . .

Je parle d'erreurs PHP, mais je ne sais pas si cela est défini dans PHP, Apache ou peut-être utiliser une bibliothèque tierce partie.

Je ne parle pas de définir une erreur de dossier spécifique_log. Je parle de si les erreurs sont enregistrées dans le dossier Scripts.

Exemple: je crée un dossier nommé Test1. À l'intérieur, je fais un script PHP buggy qui jette des erreurs. Lorsque j'exécute le script, je peux voir un fichier error_log créé dans le dossier. Donc cela fonctionne à la volée.

J'ai essayé de demander à l'entreprise d'hébergement de soutien à la manière dont ils le font, mais ils ne m'ont pas répondu.

Je ne sais pas si peut-être pourrait être une sorte de CPPanel Cadre (BTW, Le support d'hébergement ne comprend pas cette question non plus cette question, mais bien .. généralement le niveau 1 du support ne peut pas gérer des trucs techniques).


1 commentaires

Vous parlez d'erreurs PHP, pas d'erreurs Apache, n'est-ce pas?


3 Réponses :



0
votes

Pour ce faire dans PHP, modifier le fichier php.ini em> et ajouter la ligne xxx pré>

puis redémarrez le serveur Web. Cela devrait vous donner des erreurs PHP et uniquement les erreurs PHP, à ce fichier. Fourni, bien sûr, que les scripts ne sont pas écrits pour jeter toutes les erreurs. P>

Pour le faire dans Apache, vous pouvez utiliser SetenVIF pour ajouter une variable d'environnement à toute demande terminée par PHP, puis imprimer Tous les journaux avec cette variable d'environnement particulière. Par exemple: p> xxx pré>

pour l'utiliser dans plusieurs dossiers, faites une variable d'environnement par dossier et un personnalisé par dossier, comme celui-ci: P>

SetEnvIf Request_URI "/folder1/.*\.php$" log_folder1
Customlog /path/to/folder1/php.log env=log_folder1

SetEnvIf Request_URI "/folder2/.*\.php$" log_folder2
Customlog /path/to/folder2/php.log env=log_folder2


3 commentaires

C'est une façon correcte de rediriger les erreurs PHP au fichier personnalisé unique, mais ce n'est pas ce que je demande, merci de toute façon


Dans ce cas, tout ce que je peux dire, c'est que je n'ai aucune idée de ce que vous voulez. Je ne comprends pas ce que vous entendez par "erreurs sont enregistrés sur le dossier scripts". Si vous voulez dire que vous souhaitez que tous les scripts dans un dossier particulier soient connectés à un fichier dans ce dossier particulier, vous pouvez toujours le faire avec SetEnVIF, en définissant l'environnement en fonction du dossier, il s'agit d'une panne de fonds pour chaque dossier. . Mais cela vous donnera les journaux Apache, pas les journaux PHP.


Ce que je veux dire, c'est que les erreurs générées par un script me permettent de connecter un fichier error_log dans le dossier où les scripts sont sans règles pour chaque dossier, je souhaite répondre ou copier ce comportement de ma société d'hébergement, mais ils ne m'ont pas dit comment cela fonctionne, Mais cela fait, si un nouveau dossier et un nouveau fichier à l'intérieur et cela génère donc une erreur. ERROR_LOG est automatiquement créé dans ce nouveau dossier et connectez-vous à l'intérieur, mais comment je ne sais pas, si cela se produit, parce que la configuration Apache ou PHP ou CPanel, je ne sais pas, c'est ce que je cherche



14
votes

Je l'ai trouvé.

Vous devez définir une directive dans le fichier php.ini comme suit, string "error_log". Sur le côté droit, le nom de fichier que vous souhaitez pour le journal, xxx

Ceci générera une erreur d'erreur PHP dans le dossier où le script exécuté est,

Je vais essayer d'expliquer.

script test.php in dossier / www / site / lib : xxx

Si le fichier db_conn.php n'est pas situé dans le même répertoire, cela déclenchera un avertissement et une erreur. Habituellement, cela sera conduit au journal des serveurs / Vhost, mais en utilisant cette directive, vous obtiendrez un fichier error_log sous le répertoire / www / site / lib .

Pourquoi était-ce que je cherchais ou ça? Eh bien, comme je l'ai écrit, je travaille sur une énorme application, avec des milliers de fichiers de nombreux armes à feu, des avis, etc. Je ne suis pas le seul dans le projet et le site error_log fichier était Si énorme, il était difficile de suivre l'évolution de débogage pour un ou quelques fichiers. Maintenant, je dois juste suivre le journal des répertoires où je travaille.


1 commentaires

La seconde "erreur_log" est déroutante (quelle que soit l'explication). Est-ce littéral ou pas? Sinon, pouvez-vous choisir un autre nom? (Mais sans "Modifier:", "mise à jour:" ou similaire - la question / la réponse doit apparaître comme s'il était écrit aujourd'hui.)