Comme le titre dit, j'ai défini la longueur maximale pour le journal d'erreur PHP, mais il semble continuer à augmenter beaucoup plus grand que 1024. J'utilise le bon php.ini, j'ai redémarré Apache, etc. Les autorisations sur le journal PHP sont 666. P>
3 Réponses :
Comme c'est typique pour PHP, il n'est pas vraiment évident du nom du paramètre de configuration, ni même du documentation , mais cette directive s'applique à la longueur d'un message journal unique em>, pas la longueur du fichier journal comme un tout. p>
Utilisez le logrotate ou un outil similaire pour ce que vous essayez de faire. P>
Vérifié La pensée initiale de Pascal : p>
log_errors_max_len Integer P>
Définir la longueur maximale de log_errors en octets. Dans Error_Log Information à propos de la source est ajoutée. Le défaut est 1024 et 0 permet de ne pas appliquer aucun longueur maximale du tout. cette longueur est appliqué aux erreurs enregistrées, affichées erreurs et aussi à $ php_errormsg. strong> quand Un entier est utilisé, la valeur est mesuré en octets. Notation abrégée, Comme décrit dans cette FAQ, peut aussi être utilisé. p> blockQuote>
Cette documentation est clairement incorrecte. log_errors est un booléen, donc "longueur maximale de log_errors" est un non-sens.
@Adrien File Un bug
Qu'est-ce que le manuel n'a pas indiqué est que Pour démontrer, exécutez ce code à l'aide de Les octets envoyés à Suivant, testez le même code avec (Notez que votre message d'erreur est préparé avec " Ce problème se produit non seulement avec exécutez maintenant le même code à l'aide de log_errors_max_len code>
fait référence log_errors_max_len = 0 code> (
0 code> signifie illimitée) et
log_errors = 1 code>
: p> xxx pré> error_log code>
sera: p> log_errors_max_len = 4 code> et
log_errors = 1 code>. (N'oubliez pas de redémarrer le serveur.)
error_log code> sera maintenant: p>
[15 -JUL-2015 01:23:45 UTC] PHP AVIS: CODE> "et ajouté avec"
in c: \ index.php sur la ligne 1 code> ", entraînant une ligne plus longue que ce qui est défini par
log_errors_max_len code>.) p>
error_log code>, mais aussi avec la sortie du serveur envoyé au client. Pour démontrer, exécutez le même code ci-dessus en utilisant
log_errors_max_len = 4 code>,
display_errors = 1 code >
, html_errors = 0 code>
, error_prepend_string =" PPPP " code>
et error_append_string =" aaaa " code>
. La sortie envoyée au client est la suivante: p> log_errors_max_len = 4 code>,
display_errors = 1 code> ,
html_errors = 1 code> strong>,
error_prepend_string = "PPPP" code> et
error_append_string = "aaaa" code>. (
error_prepend_string code> et
error_append_string code> Appliquer uniquement sur les erreurs affichées, non des erreurs enregistrées.) La sortie envoyée au client est la suivante: p>
PPPP<br />
<b>Notice</b>: Unde in <b>C:\index.php</b> on line <b>5</b><br />
AAAAPPPP<br />
<b>Notice</b>: Unde in <b>C:\index.php</b> on line <b>5</b><br />
AAAA
Juste hors de curiosité, cette directive configure-t-elle la longueur totale du fichier (qui a peu de sens, car la valeur par défaut est 1024 octets), ou seule la longueur maximale d'une entrée / une ligne d'entrée / une ligne?
Il existe plusieurs paramètres de configuration code> php.ini code> qui travaillent ensemble de manière quelque peu intuitive. Sur votre système, quelles sont les valeurs de
erreurs de journal code> php.net/manual/fr/errorfunc.configuration.php#ini.log-errors et
Error-journal code> php.net/manual/fr/errorfunc.configuration.php#ini.error-log A>?