Artikel ini akan memperkenalkan beberapa perkara yang anda mungkin tidak tahu tentang ralat baris arahan PHP.
Sebagai bahasa sebelah pelayan yang popular, PHP biasanya berjalan pada pelayan Web, tetapi ia juga boleh dijalankan secara langsung pada baris arahan Contohnya, di bawah sistem Linux atau MacOS, kita boleh memasukkan "php" dalam perintah terminal ” untuk menjalankan skrip PHP secara langsung.
Walau bagaimanapun, sama seperti dalam pelayan web, apabila kami menjalankan skrip PHP dalam baris arahan, kami juga akan menghadapi beberapa ralat. Berikut ialah beberapa maklumat tentang ralat baris arahan PHP yang mungkin anda tidak tahu:
Apabila kami melaksanakan skrip PHP daripada baris arahan Apabila terdapat ralat dalam skrip, mesej ralat tidak dipaparkan secara automatik pada skrin seperti dalam pelayan web. Ini kerana dalam persekitaran PHP pada baris arahan, secara lalai, PHP akan mengeluarkan maklumat ralat kepada aliran keluaran standard (STDOUT) dan bukannya aliran keluaran ralat (STDERR).
Oleh itu, jika anda ingin melihat maklumat ralat PHP pada baris arahan, anda perlu mengeluarkan maklumat ralat kepada aliran ralat standard Ini boleh dicapai dengan menambahkan kod berikut pada skrip PHP:
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
Kod ini memberitahu PHP untuk mengeluarkan maklumat ralat kepada aliran output ralat dan memaparkan semua maklumat ralat, termasuk amaran dan pemberitahuan. Kod ini hendaklah diletakkan pada permulaan skrip PHP.
Jika anda tidak mengendalikan ralat dalam skrip baris arahan PHP, atur cara masih akan terus dilaksanakan apabila ralat berlaku. Ini kerana pengendalian ralat dalam skrip baris arahan PHP adalah berbeza daripada dalam pelayan web. Jika anda ingin mengendalikan ralat pada baris arahan, anda boleh menggunakan pernyataan cuba-tangkap atau fungsi pengendalian ralat tersuai.
Contohnya:
set_error_handler(function ($errno, $errstr, $errfile, $errline ) { echo "Error: [$errno] $errstr - $errfile:$errline"; die(); });
Kod ini menggunakan fungsi pengendalian ralat tersuai untuk mengendalikan mesej ralat dan menamatkan pelaksanaan program selepas pengendalian ralat selesai. Fungsi ini perlu ditambah pada permulaan skrip PHP.
Jika anda ingin menyimpan maklumat ralat baris arahan PHP ke fail, anda boleh menggunakan operasi pengalihan aksara ">" dan ">>". Contohnya:
php script.php > output.log 2>&1
Arahan ini akan mengubah hala semua dalam aliran keluaran standard dan aliran keluaran ralat ke fail bernama output.log. Jika anda tidak mahu menulis ganti kandungan fail asal, anda boleh menggunakan operator ">>".
Mesej ralat dalam baris arahan PHP mungkin kelihatan mengelirukan, tetapi ia sebenarnya boleh membantu anda nyahpepijat atur cara anda.
Pertama sekali, mesej ralat akan memberitahu anda di mana masalah berlaku dalam atur cara, jenis ralat, fail dan nombor baris serta sebab ralat. Maklumat ini membolehkan anda mengenal pasti masalah dengan cepat.
Kedua, mesej ralat juga boleh memberitahu anda aliran pelaksanaan program Ia boleh memaparkan susunan panggilan fungsi dan pemindahan parameter antara fungsi melalui timbunan ralat, yang sangat membantu untuk memahami aliran pelaksanaan. daripada program tersebut.
Kesimpulan:
Apabila melaksanakan skrip PHP dari baris arahan, anda perlu memberi perhatian kepada cara mengendalikan mesej ralat PHP. Anda boleh mengendalikan ralat PHP dengan mudah daripada baris arahan dengan mengeluarkan maklumat ralat kepada aliran ralat standard, menyesuaikan fungsi pengendalian ralat atau menggunakan pernyataan cuba-tangkap. Di samping itu, anda boleh menggunakan operator ubah hala untuk mengeksport maklumat ralat ke fail untuk melihat dan menyahpepijat dengan mudah.
Atas ialah kandungan terperinci Ralat baris arahan PHP: perkara yang anda mungkin tidak tahu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!