ฉันใช้ nginx กับ php-fpm และเราได้รับข้อผิดพลาดมากมายเช่นนี้:

2022/01/23 12:48:13 [error] 5514#5514: *9277 FastCGI sent in stderr: "PHP message: PHP Warning:  file_exists(): open_basedir restriction in effect. File(/var/www/vhosts/evtm.dev.nick/wp-content/db.php) is not within the allowed path(s): (/var/www/vhosts/evtm.dev.nick/:/usr/lib/php/:/tmp/:/data/sucuri:/var/www/prepend/) in /var/www/vhosts/evtm.dev.nick/wp-includes/load.php on line 545" while reading response header from upstream, client: 10.0.2.33, server: dev-nick.evtm.com, request: "POST /?wc-ajax=get_refreshed_fragments HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "dev-nick.evtm.com", referrer: "https://dev-nick.evtm.com/"

มันบอกว่าไฟล์/var/www/vhosts/evtm.dev.nick/wp-content/db.phpไม่อยู่ในเส้นทางที่อนุญาตของ/var/www/vhosts/evtm.dev.nick- เมื่อเห็นได้ชัดว่าเป็น

มีอะไรป้องกันไม่ให้ทำงานซ้ำๆ หรือไม่

answer

ปัญหาคือsymlinkไฟล์db.php. ไฟล์นี้คัดลอกมาจากโฟลเดอร์อื่นในอินสแตนซ์อื่น และลิงก์สัญลักษณ์ชี้ไปที่ไฟล์ต้นฉบับนั้น

การยกเลิกการลิงก์ไฟล์และการลิงก์ไปยังไฟล์ที่ถูกต้องช่วยแก้ปัญหาได้