Rumah > Soal Jawab > teks badan
P粉6628028822023-08-21 16:05:34
Jika anda menjalankan SELinux, anda mungkin perlu memberi kebenaran httpd untuk membaca direktori /home, gunakan arahan berikut:
sudo setsebool httpd_read_user_content=1
P粉2519031632023-08-21 13:14:41
Ini sebenarnya bukan soalan berkaitan Apache malah soalan berkaitan PHP. Untuk memahami ralat ini, anda mesti membezakan antara laluan pada pelayan maya dan laluan dalam sistem fail.
require
pengendali digunakan pada fail. Tetapi jalan seperti ini
/common/configs/config_templates.inc.php
Hanya wujud pada pelayan HTTP maya, tiada laluan sedemikian dalam sistem fail. Laluan sistem fail yang betul hendaklah
/home/viapics1/public_html/common/configs/config_templates.inc.php
Antaranya
/home/viapics1/public_htmlBahagian
dipanggil Document Root dan ia menghubungkan dunia maya dengan dunia nyata. Nasib baik, pelayan web biasanya mempunyai akar dokumen dalam pembolehubah konfigurasi yang dikongsi dengan PHP. Jadi jika anda menukar kod anda seperti ini
require_once $_SERVER['DOCUMENT_ROOT'].'/common/configs/config_templates.inc.php';
Ia akan berfungsi dalam mana-mana fail dalam mana-mana direktori!
Kemas kini: Akhirnya saya menulis artikel yang menerangkan perbezaan antara laluan relatif dan mutlak pada sistem fail dan pelayan web, menerangkan masalah secara terperinci dan termasuk beberapa penyelesaian praktikal. Sebagai contoh, apabila anda menjalankan skrip dari baris arahan, pembolehubah mudah seperti itu tidak wujud. Dalam kes ini, ia boleh diselesaikan menggunakan teknik yang dipanggil "single entry". Anda juga boleh merujuk artikel di atas untuk butiran lanjut.