Làm thế nào để khắc phục: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file

PHP Warning: move_uploaded_file là một lỗi máy chủ web điển hình với nginx và xuất hiện khi chúng ta muốn tải một tệp lên máy chủ. Thông thường, khi chúng tôi phải tải lên chứng chỉ hoặc các tệp khác không thuộc về “Media”, chúng tôi không thấy lỗi trong giao diện của adminĐăng ký CMS.

Ở một dạng cụ thể hơn, lỗi “PHP Warning: move_uploaded_file” chúng tôi tìm thấy nó trong error.log như:

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'

Tại sao lỗi xảy ra PHP Warning: move_uploaded_file và cách chúng tôi giải quyết nó

Như tôi đã nói ở trên, lỗi xảy ra khi chúng tôi cố gắng tải tệp lên máy chủ web.

"FastCGI sent in stderr”Là điển hình cho các máy chủ có PHP-FPM và nginx như phần mềm web. Vì vậy, vấn đề nằm ở đâu đó trong mối quan hệ của tập lệnh mà thông qua đó các tệp được tải lên.

"move_uploaded_file(): Unable to move”Cho chúng tôi biết rất rõ ràng rằng các tệp đó không thể được tải lên và di chuyển đến một thư mục khác trên máy chủ web bằng tập lệnh thực hiện thao tác.

Giải quyết lỗi này PHP nó được giải quyết rất đơn giản, đặt quyền chính xác trên máy chủ, cho cả tập lệnh thực thi, mà người dùng có khả năng xảy ra cao nhất: nginx không có quyền truy cập và cho thư mục đích.

Nếu các tệp trang web không thuộc về người dùng, như trên cPanel, VestaCP hoặc các nền tảng quản lý lưu trữ khác, thì gần như chắc chắn giải pháp là cấp cho người dùng nginx quyền truy cập vào thư mục tải lên và tập lệnh.

Đối với ví dụ mã trên, chúng tôi sẽ thực thi lệnh sau trong SSH:

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

Chúng tôi tiếp tục tải lên và mọi thứ sẽ hoạt động mà không có lỗi move_uploaded_file(): Unable to move.

Nếu bạn vẫn gặp sự cố, nó có thể được giải quyết trong phần nhận xét của hướng dẫn này.

Đam mê công nghệ, thích test và viết các bài hướng dẫn về hệ điều hành macOS, Linux, Windows, Về WordPress, WooCommerce và cấu hình máy chủ web LEMP (Linux, NGINX, MySQL và PHP). Tôi viết tiếp StealthSettings.com từ năm 2006 và một vài năm sau, tôi bắt đầu viết trên iHowTo.Tips hướng dẫn và tin tức về các thiết bị trong hệ sinh thái Apple: iPhone, iPad, Apple Xem, HomePod, iMac, MacBook, AirPods và phụ kiện.

Để lại một bình luận