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

PHP Warning: move_uploaded_file เป็นข้อผิดพลาดของเว็บเซิร์ฟเวอร์ทั่วไปกับ NGINX และปรากฏขึ้นเมื่อเราต้องการอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ ส่วนใหญ่เมื่อเราต้องอัพโหลดใบรับรองหรือไฟล์อื่นที่ไม่ใช่ของ “Media”เราไม่เห็นข้อผิดพลาดในอินเทอร์เฟซการดูแลระบบ 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.

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

เป็นคนรักเทคโนโลยี ฉันเขียนบทความด้วยความสุขบน StealthSettings.com ตั้งแต่ปี 2006 ฉันมีประสบการณ์ที่หลากหลายในระบบปฏิบัติการ: macOS, Windows, และ Linux, รวมถึงภาษาโปรแกรมและแพลตฟอร์มบล็อก (WordPress) และสำหรับร้านค้าออนไลน์ (WooCommerce, Magento, PrestaShop)

วิธีการ » บทแนะนำและข่าวไอที » วิธีแก้ไข: ส่ง FastCGI ไปที่ stderr – ข้อความ PHP: PHP Warning: move_uploaded_file

1 คิดเกี่ยวกับ "วิธีแก้ไข: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file”

  1. สวัสดี,
    J'ai lu et relu บทความ sur le sujet [move_upload_file]
    Il se trouve que je suis confonn avec ce problème et que je cherche depuis moult mois de m'en sortir sans succès.
    ฉันมีไซต์ส่วนตัวซึ่งฉันมีหน้า Formaire.html ที่ไม่ทำงานเพียงบางส่วน โปรดทราบว่า: เป็นไปไม่ได้ที่จะเปิดโฟลว์ ฯลฯ... และปลอดภัยที่จะย้ายไปยัง 'อัปโหลด'
    Je suis retraité des Arts graphiques, typographe à 13 ans, puis monteur offset, infographiste, webmaster, bref j'ai 84 ans retraité et je suis toujours et encore passionné par mon métier.
    ให้ฉันใช้ débrouille avec le html และ JavaScript, je me heurte aujourd'hui au PHP
    ฉันทำกับเพื่อนร่วมงานของฉัน anciens combattant d'Algérie, de petites sorties et réalise des "reportages" ที่ฉันใส่บนเว็บไซต์ของฉัน Perso à dispo pour ceux qui sont intéressés; donc, je désire recevoir des docs car je ne pas tout faire moi même pour illustrer mes propos, d'où l'idée du Formulaire et traitement PHP.
    ฉันสร้างเว็บไซต์ด้วย "Dreamweaver CC2020" เวอร์ชัน Mac hébergé chez moi sur unserver Synology “Ngnix” DMS v. 7.1 – PHP 8 (อาจเป็น php 7.2, php 7.3, php 7.4) ใบรับรองเริ่มต้น (No-Ip): TrustCor DV CA – G2 RSA
    แบบฟอร์มทำงานอย่างถูกต้องสำหรับฟิลด์ "ข้อความ" แต่ปฏิเสธฟิลด์ "สื่อ"
    หากคุณต้องการ คุณสามารถเชื่อมต่อกับ URL ด้านบน คลิกที่รูป และเนื่องจากฉันไม่ต้องเปิดใช้งาน html "return" คุณจึงสามารถแสดงภาพผลลัพธ์ในหน้า PHP (ฉันได้จัดสรร 10 Mb และ 20 Mb) สำหรับสื่อ
    Et si je vous suis bien, le soucis viendrait du “FastCGI” des servers Nginx PHP-TPM ce qui est mon cas, alors dans le volet TPM, il existe bien moult cases à cocher ou décocher, mais les quelles?
    ฉันสังเกตเห็นคำสั่ง SSH:
    chown -R nginx:nginx /srv/www/domain.test/public/
    chmod g+w ไฟล์.ไฟล์
    Mais conviendra-t-telle à mon serverur?
    Merci par avance de vos précieux conseils

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