Maison >développement back-end >tutoriel php >Analyse et résolution des problèmes de fichiers temporaires causés par les erreurs Apache 500
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
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% / ...
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
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 ....
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 = offVé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
à 7j (doit être en jours) (en unités)
Filesystem Size Used Avail Use% Mounted on /dev/sda1 6.8G 1.7G 4.9M 26% / ...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 !
.