Хатогии PHP-ро чоп кардан

Агар шумо дар рамзи PHP-и худ хатогӣ кунед, сервер тавсифи ин хатогӣ ро ҳамин ҳол ба браузер чоп мекунад. Хатогӣ се навъ дорад: notice, warning ва fatal.

Notice-ҳо тавзеҳот дар бораи он ҳастанд, ки дар рамзи шумо чизе нодуруст бошад. Гарчанде ки рамз ҳамчун пеш кор мекунад. Беҳтар аст, ки ин хатогиҳоро тарк накарда, онҳоро ислоҳ кунед.

Warning-ҳо огоҳиҳо дар бораи он ҳастанд, ки чизе нодуруст рафтааст. Одатан дар ин ҳолат рамзи шумо оғоз мешавад, вале кор намекунад ҳамчунон ки шумо мехоҳед.

Fatal-ҳо дар ҳолате рух медиҳанд, ки вақти рамзи PHP иҷро карда намешавад. Одатан ин бо хатогии синтаксисие, ки шумо кардаед, алоқаманд аст.

Аммо, як мушкилие ҳаст. Ба таври пешфарз notice-ҳо ва warning-ҳо хомӯш карда шудаанд, ва ба ҷои fatal-ҳо шумо фақат экрани сафед хоҳед дид. Ин, албатта, каммаълумот аст. Биёед чопи ҳамаи хатогиҳоро фаъол кунем:

index.php<?php
  error_reporting(E_ALL);
?>

Гаҳо, аммо, ин дастур кор намекунад (аз танзимоти сервер вобаста аст). Ба ёрӣ дастури дуввум меояд:

index.php<?php
  ini_set('display_errors', 'on');
?>

Беҳтар аст, ки ҳардуро якбора нависед:

index.php<?php
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
?>

Дар сомонае, ки ба интернет бор карда шудааст, чопи хатогиҳо беҳтар аст, ки хомӯш карда шавад. Ин чунин анҷом дода мешавад:

index.php<?php
  error_reporting(0);
  ini_set('display_errors', 'off');
?>