Maison > développement back-end > tutoriel php > Analyse et résolution des problèmes de fichiers temporaires causés par les erreurs Apache 500

Analyse et résolution des problèmes de fichiers temporaires causés par les erreurs Apache 500

高洛峰
Libérer: 2023-03-05 11:06:01
original
1418 Les gens l'ont consulté

En regardant le journal Apache, j'ai trouvé que le module mod_fcgid était anormal, demandant "Connexion réinitialisée par peer:mod_fcgid:erreur de lecture des données du serveur FastCGI", "Fin prématurée des en-têtes de script:index.php", "processus / usr/... apache/cgi-bin exit(erreur de communication, obtenir un signal inattendu 7", pour parler franchement, PHP termine l'exécution plus tôt et se termine sans renvoyer l'en-tête.

J'ai longuement cherché sur Internet temps basé sur ces erreurs, mais je n'ai jamais rien trouvé de satisfaisant. La réponse a même été induite en pensant qu'il s'agissait d'un problème avec la configuration du module mod_fcgid

Avant de trouver une solution, je pensais que même si PHP l'était. un peu lent récemment, il peut au moins fonctionner, ce qui signifie qu'il n'y a pas de problème de configuration ; De plus, si phpinfo() est exécuté maintenant, le programme peut toujours être exécuté. Le framework mvc avec trop d'inclusions entraînera 500 erreurs internes. Qu'est-ce que cela signifie que php n'a pas été exécuté, pourquoi ? n'a pas d'espace supplémentaire. Bien sûr

df -h
Copier après la connexion

Le répertoire personnel du système / a été explosé

Alors, recherchez des fichiers volumineux

Filesystem  Size  Used  Avail Use%  Mounted on
/dev/sda1  6.8G  6.5G  17M  100%  /
...
Copier après la connexion

J'ai trouvé que le plug-in php Xdebug générait beaucoup de fichiers d'analyse de performances, et ils étaient tous enregistrés en 100M

find / -type f -size +300M
Copier après la connexion

J'ai donc modifié. php.ini et stocké les fichiers d'analyse à d'autres endroits. Ou tout simplement ne pas l'enregistrer

/tmp/profiler/cachegrind.out.1336
/tmp/profiler/cachegrind.out.1329
....
Copier après la connexion

Supprimez le répertoire d'analyse des performances xdebug et le répertoire de suivi php var

<🎜. >

# close xdebug profiler in php.ini
xdebug.profiler_enable = off
Copier après la connexion
Vérifiez à nouveau la situation du disque dur, vous avez constaté que 26 % sont utilisés et qu'il reste 4,9 Go

Vous n'avez même pas besoin de redémarrer le serveur httpd, et. il fonctionne à nouveau normalement ! Pour éviter de futurs problèmes, nous devons installer un logiciel de nettoyage programmé --tmpwatch, et définir l'heure programmée dans la configuration /etc/cron.daily/tmpwatch

rm -rf /tmp/profilter
rm -rf /tmp/trace
Copier après la connexion

à 7j (doit être en jours) (en unités)

Filesystem  Size  Used  Avail Use%  Mounted on
/dev/sda1  6.8G  1.7G  4.9M  26%  /
...
Copier après la connexion

Nettoyer régulièrement une fois par semaine

Pour plus d'articles connexes sur l'analyse et résolution des problèmes de fichiers temporaires causés par des erreurs Apache 500, veuillez faire attention au site Web PHP chinois !

.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal