วิธีแก้ไข: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file

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”บอกเราอย่างชัดเจนว่าไฟล์เหล่านั้นไม่สามารถอัปโหลดและย้ายไปยังโฟลเดอร์อื่นบนเว็บเซิร์ฟเวอร์โดยสคริปต์ที่ดำเนินการ

แก้ไขข้อผิดพลาดนี้ เปโซฟิลิปปินส์ มันแก้ไขได้ง่ายมาก โดยตั้งค่าการอนุญาตที่ถูกต้องบนเซิร์ฟเวอร์ ทั้งสำหรับสคริปต์การดำเนินการ ซึ่งผู้ใช้ที่น่าจะเป็นไปได้มากที่สุด: 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.

หากคุณยังคงประสบปัญหา สามารถแก้ไขได้ในความคิดเห็นของบทช่วยสอนนี้

หลงใหลในเทคโนโลยี ฉันชอบทดสอบและเขียนบทช่วยสอนเกี่ยวกับระบบปฏิบัติการ macOSลินุกซ์ Windows, เกี่ยวกับ WordPress, WooCommerce และกำหนดค่าเว็บเซิร์ฟเวอร์ LEMP (Linux, NGINX, MySQL และ PHP) ฉันเขียนบน StealthSettings.com ตั้งแต่ปี 2006 และไม่กี่ปีต่อมา ฉันเริ่มเขียนบทแนะนำและข่าวสารเกี่ยวกับอุปกรณ์ในระบบนิเวศ iHowTo.Tips Apple: iPhone, iPad, Apple ดู, โฮมพอด, iMac, MacBook, AirPods และอุปกรณ์เสริม

แสดงความคิดเห็น