Все 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