Rumah > pembangunan bahagian belakang > masalah PHP > Perkara yang perlu dilakukan jika amaran ralat PHP berlaku

Perkara yang perlu dilakukan jika amaran ralat PHP berlaku

藏色散人
Lepaskan: 2023-03-14 19:34:02
asal
3371 orang telah melayarinya

Penyelesaian kepada amaran ralat PHP: 1. Tambahkan "error_reporting(E_ALL ^ ​​​​E_DEPRECATED);" pada halaman amaran; 2. Ubah suai fail php.ini untuk menyekat ralat.

Perkara yang perlu dilakukan jika amaran ralat PHP berlaku

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 5.5, komputer DELL G3

Apakah yang perlu saya lakukan jika terdapat amaran ralat PHP?

Selesaikan masalah PHP memaparkan Amaran dan Notis

Selepas PHP dipasang, pelaporan ralat, peringatan, amaran, dsb. akan ditetapkan dalam php Fail .ini Muncul, kaedah ini membolehkan kita memahami masalah dalam atur cara dalam masa semasa menyahpepijat program PHP. Kemudian, kadangkala kita tidak memerlukan peringatan, amaran, dsb. Contohnya, apabila kita menggunakan PHP5.5 (atau lebih tinggi) dan menggunakan kaedah sambungan MySql yang lebih lama dengan persekitaran pembangunan MySql, PHP akan menggesa: Sila gunakan kaedah sambungan MySql terkini . Apabila anda menggunakannya untuk membaca kandungan pangkalan data dan mengembalikannya ke bahagian hadapan sebagai format json (atau lain-lain), ralat sering berlaku dalam kandungan

Cara menyekat ralat ini? Kaedahnya adalah seperti berikut:

1 Tambahkan peringatan ralat pelindung pada halaman di mana peringatan, ralat atau amaran mungkin (atau sudah) berlaku:

error_reporting(E_ALL ^ ​​​​E_DEPRECATED);

//Dalam versi ini php5. 5. Tidak disyorkan lagi untuk menggunakan kaedah sambungan mysql lama

//Tetapi speedPHP masih menggunakan kaedah sambungan lama, dan php akan melaporkan Petua E_deprecated, tidak mengapa untuk mematikan gesaan pada masa ini Anda juga boleh meletakkan

//php dalam mod penggunaan (mod bukan pembangunan), tetapi penyelesaian terbaik ialah menggunakan speedPHP

Secara amnya, anda juga boleh menggunakan kandungan berikut untuk menyelesaikan beberapa amaran notis dan masalah lain

ini_set ("display_errors", 0) ;

error_reporting(E_ALL ^ ​​​​E_NOTICE);

error_reporting(E_ALL ^ ​​​​E_WARNING);

2 Buka fail php.ini, cari tetapan yang berkaitan (seperti yang ditunjukkan di bawah), tukar kepada mati dan anda boleh menyekat ralat (kaedah ini tidak disyorkan):

Kadang-kadang mengubah suai display_errors dalam php.ini masih tidak 't berfungsi, kemudian sila rujuk kaedah berikut:

Ubah suai php.ini dan tukar display_errors = On to display_errors = Off, tetapi hasilnya masih tidak berfungsi. Selepas Baidu menyemak, ternyata ia perlu ditetapkan dalam php-fpm.conf.

Buka php-fpm.conf dan cari:

  /usr/sbin/sendmail -t -i

0

Tukar sahaja nilai daripada 1 kepada 0.

3 Kaedah ini sangat sesuai untuk projek yang telah memutuskan untuk menggunakan kaedah yang pasti akan menyebabkan peringatan atau amaran sekali dan untuk semua:

Mula-mula rujuk 2, cari lokasi paparan_ralat yang berkaitan, tukar Mati kepada Hidup

Kemudian cari lokasi dalam gambar di bawah, ubah suai tahap yang anda perlukan untuk melaporkan ralat, atau tahap yang tidak perlu dilaporkan

Tahap pelaporan ralat yang dirujuk adalah seperti berikut:

定义和用法:
error_reporting() 设置 PHP 的报错级别并返回当前级别。
 
函数语法:
error_reporting(report_level)
 
如果参数 level 未指定,当前报错级别将被返回。下面几项是 level 可能的值:
值 常量 描述
1 E_ERROR 致命的运行错误。错误无法恢复,暂停执行脚本。
2 E_WARNING 运行时警告(非致命性错误)。非致命的运行错误,脚本执行不会停止。
4 E_PARSE 编译时解析错误。解析错误只由分析器产生。
8 E_NOTICE 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
16 E_CORE_ERROR PHP启动时初始化过程中的致命错误。
32 E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)。
64 E_COMPILE_ERROR 编译时致命性错。这就像由Zend脚本引擎生成了一个E_ERROR。
128 E_COMPILE_WARNING 编译时警告(非致命性错)。这就像由Zend脚本引擎生成了一个E_WARNING警告。
256 E_USER_ERROR 用户自定义的错误消息。这就像由使用PHP函数trigger_error(程序员设置E_ERROR)
512 E_USER_WARNING 用户自定义的警告消息。这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告)
1024 E_USER_NOTICE 用户自定义的提醒消息。这就像一个由使用PHP函数trigger_error(程序员一个E_NOTICE集)
2048 E_STRICT 编码标准化警告。允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
4096 E_RECOVERABLE_ERROR 开捕致命错误。这就像一个E_ERROR,但可以通过用户定义的处理捕获(又见set_error_handler())
8191 E_ALL 所有的错误和警告(不包括 E_STRICT) (E_STRICT will be part of E_ALL as of PHP 6.0)
Salin selepas log masuk

Contoh :
Sebarang bilangan pilihan di atas Semuanya boleh disambungkan dengan "ATAU" (menggunakan ATAU atau |), supaya semua ralat yang diperlukan untuk semua peringkat boleh dilaporkan.
Sebagai contoh, kod berikut mematikan ralat dan amaran yang ditentukan pengguna, menjalankan operasi tertentu dan kemudian kembali ke tahap ralat asal:

<?php
//禁用错误报告
error_reporting(0);
 
//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);
 
//报告所有错误
error_reporting(E_ALL);
?>
Salin selepas log masuk
Pembelajaran yang disyorkan: "

Tutorial Video PHP"

Atas ialah kandungan terperinci Perkara yang perlu dilakukan jika amaran ralat PHP berlaku. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan