Destio

PHP log

Критичные ошибки в PHP, fatal errors

PHP Fatal error: Cannot redeclare class Это значит данный класс уже объявлялся ранее. Самое простое это включать файлы с классами как include_once()/require_once(). Если не помогает, то можно проверять наличие класса: if (class_exists(“Database”) == false) { class Database { … } }

Читать дальше

,

PHP Parse error

Тут буду собирать php parsing errors. syntax error, unexpected '' PHP Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) Это значит PHP не нравится интерполировать элементы массива с ключами в одиночных кавычках. $foo = “upupu $issue[‘article’]” // плохо $foo = “upupu {$issue[‘article’]}” // хорошо

Читать дальше

,

Строгий режим в PHP, PHP Notice

error_reporting(-1); позволяет PHP писать в лог о всех мелочах, наподобие аналогичным use warnings; или “use strict”;. Вот какие сообщения я уже получал: PHP Notice: Use of undefined constant Так ПХП требует кавычки вокруг ключей в ассоциативных массивах. Ключ это строка, а строки должны быть в кавычках: $_GET[n]; // плохо $_GET[“n”]; // хорошо PHP Notice: Undefined […]

Читать дальше

,

Простое ведение логов в PHP

Чтобы не сильно заморачиваясь вести логи каких-нибудь событий, часто хватает простого error_log(). И не нужно морочиться с записью в файлы и базы данных. Формат очень свободный, поэтому даты и переносов строк не будет, все самому. error_log(date(“c”) . ” cookies eggog\n”, 3, “/var/dataLogs/loginLog.log”); Файл создастся сам. Также можно писать и в общий error_log, с параметром 0: […]

Читать дальше

Invalid argument supplied for foreach()

Когда пхп кормят данными сомнительной чистоты и они проходят через какой-нибудь foreach внутри, то логи пхп заполняются предупреждениями следующего вида: PHP Warning: Invalid argument supplied for foreach() in /script.php on line 146 Если нет возможности убедиться что во входящих данных будет действительно array, то для очистки лога и душевного спокойствия можно заворачивать foreach в условие […]

Читать дальше

,

Включить логи PHP на хостинге

Копаться в PHP без включенных логов это занятие для месье, а остальные любят логи. Чтобы в PHP работало нормальное логирование, нужно сначала найти правильный файл php.ini, а затем включить в нем логи. I. Расположение php.ini выводится в phpinfo(), хватит и phpinfo(INFO_GENERAL | INFO_CONFIGURATION); Он обычно лежит где-то в заднице: Loaded Configuration File /etc/php5/apache2/php.ini II. Обычно […]

Читать дальше

,