Rumah >pembangunan bahagian belakang >tutorial php >Mengapa PHP Saya Termasuk Gagal Walaupun Laluan Sertakan Yang Nampak Betul?

Mengapa PHP Saya Termasuk Gagal Walaupun Laluan Sertakan Yang Nampak Betul?

Linda Hamilton
Linda Hamiltonasal
2024-12-06 07:38:10882semak imbas

Why Does My PHP Include Fail Despite a Seemingly Correct Include Path?

Menyelesaikan Isu Laluan untuk PHP Include

Dalam senario yang disediakan, skrip PHP dalam laluan /root/update/test.php cuba untuk memasukkan fail connect.php dalam /root/connect.php. Walaupun masukkan dalam test.php berjaya, masukkan seterusnya dalam connect.php gagal untuk mengesan fail config.php yang diperlukan.

Kekeliruan timbul daripada fakta bahawa laluan sertakan dalam test.php ditetapkan kepada . :/root, mencadangkan bahawa connect.php harus mencari config.php dalam direktori kerja semasa dan direktori /root. Walau bagaimanapun, mesej ralat menunjukkan bahawa connect.php sebenarnya cuba memasukkan fail daripada direktorinya sendiri, di mana config.php tidak wujud.

Untuk menyelesaikan isu ini, seseorang boleh menggunakan pendekatan alternatif untuk menentukan yang diperlukan laluan fail.

Satu penyelesaian ialah menggunakan pemalar ajaib PHP __DIR__, yang mewakili direktori fail semasa. Dengan menggabungkan dirname(__DIR__) dengan nama fail yang diingini, seseorang boleh menaikkan struktur direktori dan mengakses fail yang diperlukan. Dalam kes ini, kod yang diubah suai dalam test.php ialah:

include(dirname(__DIR__).'/config.php');

Kaedah lain ialah mentakrifkan laluan akar menggunakan dirname(__DIR__) dan menyimpannya dalam pembolehubah malar. Laluan akar ini kemudiannya boleh digunakan untuk membina laluan termasuk yang diperlukan. Begini rupanya dalam test.php:

define('ROOT_PATH', dirname(__DIR__) . '/');
include(ROOT_PATH.'config.php');

Dengan menggunakan pendekatan yang disemak ini, skrip PHP akan berjaya menyertakan fail yang diperlukan tanpa mengira struktur fail atau persekitaran penggunaan ia beroperasi.

Atas ialah kandungan terperinci Mengapa PHP Saya Termasuk Gagal Walaupun Laluan Sertakan Yang Nampak Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn