ฉันเดาว่าบรรทัดเหล่านั้นถูกนำมาจากไฟล์ 'fastcgi_params' ..
โดยทั่วไปคุณจะไม่ได้รับข้อผิดพลาดใด ๆ เมื่อมันมาถึง SCRIPT_FILENAME
เพราะมันถูกกำหนดไว้แล้วเมื่อคุณกำหนดคำสั่งรูทของคุณในไฟล์ vhost ของคุณ ดังนั้นหากคุณไม่ได้กำหนดไว้อย่างชัดเจนในไฟล์ vhost ของคุณโดยใช้fastcgi_param
ค่าSCRIPT_FILENAME
จะถูกนำมาจากคำสั่งรูท .. แต่สิ่งหนึ่งที่สำคัญที่นี่ มีตัวแปรอื่นที่ nginx ต้องการเพื่อส่งคำขอไปยังเซิร์ฟเวอร์ php ซึ่งเป็น$fastcgi_script_name
และคุณต้องกำหนดให้ดีเพื่อหลีกเลี่ยง URL ซ้ำและข้อผิดพลาดด้วย uri ที่ลงท้ายด้วยเครื่องหมายทับ
สรุป :
เพื่อให้ทุกอย่างใช้งานได้ดีสุด ๆ ทุกคนควรกำหนดSCRIPT_FILENAME
อย่างชัดเจนในไฟล์ 'fastcgi_params' ที่อยู่ในโฟลเดอร์ / etc / nginx หรือใน vhost ของไซต์ของคุณที่อยู่ในโฟลเดอร์ที่พร้อมใช้งานไซต์โดยรวมบรรทัดต่อไปนี้ในบล็อกตำแหน่ง php:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
หรือรวมอยู่ในไฟล์ 'fastcgi_params' ตามที่คุณเขียนด้านบนไม่ว่าจะเป็นแบบไหนก็ตาม .. สำหรับข้อมูลเพิ่มเติมสำหรับการเชื่อมต่อ ngnix กับ PHP-FPM ไปที่:
https://www.nginx.com/resources/wiki/start/topics/examples/phpfcgi/
ฉันหวังว่ามันจะช่วยให้ทุกคนในอนาคต 'เพราะมันใช้เวลามากในการคิดออก ..