Все php ошибки нужно записывать в лог-файл и регулярно изучать его. Если этого не делать - есть шанс пропустить часть багов, которые появляются в процессе работы или тестирования и не выводятся на экран.

Включение log-файлов с помощью .htaccess:

php_value display_errors on  
php_value display_startup_errors on  

Включение log-файлов с помощью .htaccess, расширенный вариант:

php_flag ignore_repeated_errors off  
php_flag ignore_repeated_source off  
php_flag track_errors on  
php_flag display_errors on  
php_flag display_startup_errors on  
php_flag log_errors on  
php_flag mysql.trace_mode on  
php_value error_reporting -1  
php_value error_log /path/to/site/php-errors.log  

Ошибки php будут выводиться на экран, а также логироваться в файл php-errors.log

Вывод ошибок из php скрипта:

ini_set("display_errors","1");  
ini_set("display_startup_errors","1");  
ini_set('error_reporting', E_ALL);  

Включение log-файлов изменив php.ini:

error_reporting = E_ALL  
display_errors = On  
display_startup_errors = On  
log_errors = On  
log_errors_max_len = 1024  
error_log = home/имя пользователя/и дальше нужная папка  

Ошибки при ручном запуске или при выполнении скрипта через крон не попадают в лог. Вы можете результат выполнения скрипта вывести в отдельный файл добавив в конец команды: &>> /home/имя пользователя/logs/cron.log. Путь к файлу лога можете указать любой в пределах домашнего каталога.

Полная команда будет выглядеть следующим образом:

/usr/local/bin/php /home/имя пользователя/public_html/имя_домена/xml/скрипт.php &>>  /home/имя пользователя/logs/cron.log
Обновлено 26 октября 2024 г.