“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.