Comment réparer: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file

PHP Warning: move_uploaded_file est une erreur de serveur Web typique avec Nginx et apparaît lorsque nous voulons télécharger un fichier sur le serveur. La plupart du temps, lorsque nous devons télécharger des certificats ou d'autres fichiers qui n'appartiennent pas à “Media”, nous ne voyons pas l'erreur dans l'interface de adminEnregistrement CMS.

Sous une forme plus concrète, l'erreur “PHP Warning: move_uploaded_file” on le retrouve dans error.log comme:

FastCGI sent in stderr: "PHP message: PHP Warning:  move_uploaded_file(/srv/www/domain.test/public/file.file): failed to open stream: Permission denied in /srv/www/domain.test/public/script.php on line 748 PHP message: PHP Warning:  move_uploaded_file(): Unable to move '/tmp/phpqAVtWy'

Pourquoi l'erreur se produit PHP Warning: move_uploaded_file et comment nous le résolvons

Comme je l'ai dit ci-dessus, l'erreur se produit lorsque nous essayons de télécharger des fichiers sur le serveur Web.

"FastCGI sent in stderr”Est ​​typique pour les serveurs qui ont PHP-FPM et Nginx en tant que logiciel Web. Le problème se situe donc quelque part dans la relation du script par lequel les fichiers sont téléchargés.

"move_uploaded_file(): Unable to move"Nous dit très clairement que ces fichiers ne peuvent pas être téléchargés et déplacés vers un autre dossier sur le serveur Web par le script qui effectue l'opération.

Résoudre cette erreur PHP il est résolu très simplement, en définissant les autorisations correctes sur le serveur, à la fois pour le script d'exécution, auquel l'utilisateur le plus probable : nginx n'a pas eu accès, et pour le dossier de destination.

Si les fichiers du site Web n'appartiennent pas à un utilisateur, comme c'est le cas sur cPanel, VestaCP ou d'autres plates-formes de gestion d'hébergement, la solution consiste presque certainement à donner à l'utilisateur nginx l'accès au dossier de téléchargement et au script.

Pour l'exemple de code ci-dessus, nous allons exécuter la commande suivante en SSH :

chown -R nginx:nginx /srv/www/domain.test/public/
chmod g+w file.file

Nous reprenons le téléchargement et tout devrait fonctionner sans erreur move_uploaded_file(): Unable to move.

Si vous rencontrez toujours des problèmes, cela peut être résolu dans les commentaires de ce tutoriel.

Passionné de technologie, j'aime tester et écrire des tutoriels sur les systèmes d'exploitation macOS, Linux, Windows, à propos de WordPress, WooCommerce et configurer les serveurs web LEMP (Linux, NGINX, MySQL et PHP). j'écris sur StealthSettings.com depuis 2006, et quelques années plus tard, j'ai commencé à écrire sur des tutoriels iHowTo.Tips et des actualités sur les appareils de l'écosystème Apple: iPhone, iPad, Apple Montre, HomePod, iMac, MacBook, AirPods et accessoires.

Laisser un commentaire