Sebagai bahasa pengaturcaraan back-end yang popular, PHP digunakan secara meluas. Walau bagaimanapun, sesetengah pembangun akan menghadapi masalah semasa menulis program PHP: fail PHP tidak dapat mengeluarkan hasil. Jadi apa yang menyebabkan perkara ini berlaku? Artikel ini akan memperkenalkannya kepada anda secara terperinci.
1. Prinsip output PHP
Sebelum memperkenalkan punca masalah, kita perlu memahami prinsip output PHP. Apabila fail PHP dipanggil oleh pelayan, penghurai PHP akan mentafsirkannya sebagai kod binari dan mengeluarkannya kepada klien melalui pelbagai fungsi output. Fungsi ini termasuk gema, cetakan, printf, dll. Jika fail PHP gagal untuk mengeluarkan hasil, kemungkinan besar ia adalah salah satu daripada isu berikut.
2. Skrip PHP mengandungi ralat
Sebab pertama yang mungkin ialah skrip PHP mengandungi ralat. Memandangkan jurubahasa PHP ialah bahasa yang ditafsirkan, ia perlu menukar kod PHP kepada kod bait binari apabila ia mentafsirkannya. Jika ralat berlaku semasa proses ini, penterjemah PHP tidak akan dapat meneruskan pelaksanaan skrip. Contohnya:
<?php require "config.php"; // config.php 文件不存在 echo "Hello, World!"; ?>
Dalam kod di atas, apabila jurubahasa PHP melaksanakan "memerlukan", ia akan cuba membuka fail bernama "config.php". Tetapi kerana fail itu tidak wujud, jurubahasa PHP perlu menghentikan pelaksanaan. Akibatnya, skrip tidak akan mengeluarkan hasil.
3. Masalah pengetegan PHP
Sebab lain yang mungkin ialah masalah pengetegan PHP. Dalam PHP, pembangun biasanya menggunakan "" dan "?>" untuk membungkus kod. Walau bagaimanapun, kadangkala terdapat aksara lain dalam kod yang turut digunakan untuk membalut kod, seperti "". Jika bahagian penanda ini mengandungi ralat, penterjemah PHP tidak akan dapat mentafsir skrip. Contohnya:
<?==> echo "Hello, World!"; ?>
Dalam kod di atas, teg PHP yang salah akan menyebabkan penterjemah PHP tidak dapat mentafsir skrip, jadi skrip tidak akan dapat mengeluarkan sebarang hasil.
4. Maklumat pengepala HTTP telah dikeluarkan
Sebab terakhir yang mungkin ialah maklumat pengepala HTTP telah dikeluarkan. Sebelum PHP mengeluarkan keputusan, pelayan menghantar maklumat pengepala HTTP. Jika maklumat ini telah dihantar kepada pelanggan, tiada kandungan lain boleh dikeluarkan. Contohnya:
<?php header("Content-type:text/html;charset=utf-8"); echo "Hello, World!"; ?>
Dalam kod di atas, apabila fungsi "header" dilaksanakan, pelayan akan menghantar maklumat pengepala HTTP kepada klien. Jika fungsi disertakan selepas fungsi keluaran lain, fungsi itu tidak akan dilaksanakan.
Ringkasnya, terdapat tiga kemungkinan sebab fail PHP tidak dapat mengeluarkan hasil: skrip PHP mengandungi ralat, masalah teg PHP dan maklumat pengepala HTTP telah dikeluarkan. Oleh itu, semasa menulis program PHP, anda mesti memberi perhatian kepada isu-isu ini untuk memastikan program berfungsi dengan baik.
Atas ialah kandungan terperinci Mengapa fail php tidak dapat menghasilkan hasil? Punca dan penyelesaian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!