“PHP Warning: move_uploaded_file“ типичная ошибка веб-сервера с NGINX и появляется, когда мы хотим загрузить файл на сервер. В большинстве случаев, когда нам приходится загружать сертификаты или другие файлы, не принадлежащие “Media”, мы не видим ошибку в интерфейсе adminРегистрация CMS.
В более конкретной форме ошибка “PHP Warning: move_uploaded_file” мы находим это в error.log
в качестве:
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'
Почему возникает ошибка “PHP Warning: move_uploaded_file“ и как мы это решаем
Как я уже говорил выше, ошибка возникает, когда мы пытаемся загрузить файлы на веб-сервер.
FastCGI sent in stderr
”Обычно для серверов с PHP-FPM и NGINX как веб-программное обеспечение. Так что проблема где-то в связке скрипта, через который закачиваются файлы.
move_uploaded_file(): Unable to move
«Очень ясно говорит нам, что эти файлы не могут быть загружены и перемещены в другую папку на веб-сервере с помощью сценария, который выполняет операцию.
Устранить эту ошибку PHP решается очень просто, установкой правильных разрешений на сервере, как для скрипта выполнения, к которому не имел доступа наиболее вероятный пользователь: nginx, так и для папки назначения.
Если файлы веб-сайта не принадлежат пользователю, как на cPanel, VestaCP или других платформах управления хостингом, то почти наверняка решение состоит в том, чтобы предоставить пользователю nginx доступ к папке загрузки и скрипту.
Для приведенного выше примера кода мы выполним следующую команду в SSH:
chown -R nginx:nginx /srv/www/domain.test/public/
chmod g+w file.file
Продолжаем загрузку и все должно работать без ошибок “move_uploaded_file(): Unable to move“.
Если вы все еще сталкиваетесь с проблемами, их можно решить в комментариях к этому руководству.