13:22 5.07.2017
Хочу продолжить разговор на тему решение ошибок в PHP. На форуме есть тема поиск ошибок в PHP (Дебаг), в которой говорится, как упростить поиск ошибок.
Теперь собственно сами ошибки и их решения.
Ошибки Parse error
Parse error: syntax error, unexpected ...
Сообщается, что (в таком-то файле, в такой-то строке) была допущена синтаксическая ошибка. Возможно Вы просто забыли поставить запятую.
Решение просто! Найти указанную строку, в указном файле и написать тот самый пропущенный символ, или удалить лишний.
Ошибки Fatal error
Fatal error: Call to undefined function имя_функции() ...
Ошибка сообщает, что используемая функция (в таком-то файле, в такой-то строке) неопределенна.
Для решении такой ошибки, стоить проверить функцию, возможно Вы ошиблись и неправильно её написали.
Fatal error: Call to undefined method ...
Это ошибка очень похоже на предыдущею, только речь идет не о функции, а о методе, классе.
Для её решения так же стоить проверить на ошибки в названии самого метода или класса.
Fatal error: Maximum execution time of xx seconds exceeded
Говорится, что для выполнение скрипта не достаточно xx секунд (по умолчанию 30 секунд (возможно у Вам другое время)).
Решить ошибку можно увеличить время лимита или отключить его вообще.
Fatal error: Cannot redeclare имя_функции() (previously declared
Данная ошибка сообщает, что функция (имя_функции()) уже сделала свою работу, но сценарий заставляет повторить операцию. Такое может произойти, например, если был подключен один файл дважды или пользовательская функция была вызвана больше одного раза.
Ошибки Notice
Notice: Undefined variable ...
Говорится, что (в таком-то файле, в такой-то строке) находится неопределенная переменная.
Notice: Undefined index ...
Появление этой ошибки - результат обращения (в таком-то файле, в такой-то строке) к неопределенному индексу.
Что бы решить данную ошибку, начните с проверки наличия индекса в массиве.
Прочие ошибки
Strict Standards: Only variables should be passed by reference in
Появление этой ошибки говорит о строгих стандартах.
Подробнее об ошибке: Strict Standards: Only variables should be passed by reference in.
Cannot modify header information - headers already sent
Первое, что приходит на ум при виде этой ошибке, что хостер или Вы сами отключили директиву output_buffering, если так, то её следует включить:
Session callback expects true/false return value
Ошибка появляется, когда сессия ожидает булев от функции, а получает другое.
Подробнее об ошибке: Session callback expects true/false return value.
Namespace declaration statement has to be the very first statement in the script in
Объявление пространства имен должно быть первым выражением в скрипте.
Подробнее об ошибке: Namespace declaration statement has to be the very first statement in the script in.
Читайте еще:
Uncaught Error: Using $this when not in object context in
Ошибка PHP: A non-numeric value encountered in
Warning: mysqli_error() expects exactly 1 parameter, 0
Fatal error: Allowed memory size of xxxxxxx bytes exhausted
Warning: Cannot modify header information - headers already sent in
Warning: session_start(): Cannot send session cache limiter - headers already sent
Теперь собственно сами ошибки и их решения.
Ошибки Parse error
Parse error: syntax error, unexpected ...
Сообщается, что (в таком-то файле, в такой-то строке) была допущена синтаксическая ошибка. Возможно Вы просто забыли поставить запятую.
Решение просто! Найти указанную строку, в указном файле и написать тот самый пропущенный символ, или удалить лишний.
Ошибки Fatal error
Fatal error: Call to undefined function имя_функции() ...
Ошибка сообщает, что используемая функция (в таком-то файле, в такой-то строке) неопределенна.
Для решении такой ошибки, стоить проверить функцию, возможно Вы ошиблись и неправильно её написали.
Fatal error: Call to undefined method ...
Это ошибка очень похоже на предыдущею, только речь идет не о функции, а о методе, классе.
Для её решения так же стоить проверить на ошибки в названии самого метода или класса.
Fatal error: Maximum execution time of xx seconds exceeded
Говорится, что для выполнение скрипта не достаточно xx секунд (по умолчанию 30 секунд (возможно у Вам другое время)).
Решить ошибку можно увеличить время лимита или отключить его вообще.
Fatal error: Cannot redeclare имя_функции() (previously declared
Данная ошибка сообщает, что функция (имя_функции()) уже сделала свою работу, но сценарий заставляет повторить операцию. Такое может произойти, например, если был подключен один файл дважды или пользовательская функция была вызвана больше одного раза.
Ошибки Notice
Notice: Undefined variable ...
Говорится, что (в таком-то файле, в такой-то строке) находится неопределенная переменная.
Notice: Undefined index ...
Появление этой ошибки - результат обращения (в таком-то файле, в такой-то строке) к неопределенному индексу.
Что бы решить данную ошибку, начните с проверки наличия индекса в массиве.
Прочие ошибки
Strict Standards: Only variables should be passed by reference in
Появление этой ошибки говорит о строгих стандартах.
Подробнее об ошибке: Strict Standards: Only variables should be passed by reference in.
Cannot modify header information - headers already sent
Первое, что приходит на ум при виде этой ошибке, что хостер или Вы сами отключили директиву output_buffering, если так, то её следует включить:
output_buffering = On
Session callback expects true/false return value
Ошибка появляется, когда сессия ожидает булев от функции, а получает другое.
Подробнее об ошибке: Session callback expects true/false return value.
Namespace declaration statement has to be the very first statement in the script in
Объявление пространства имен должно быть первым выражением в скрипте.
Подробнее об ошибке: Namespace declaration statement has to be the very first statement in the script in.
Читайте еще:
Uncaught Error: Using $this when not in object context in
Ошибка PHP: A non-numeric value encountered in
Warning: mysqli_error() expects exactly 1 parameter, 0
Fatal error: Allowed memory size of xxxxxxx bytes exhausted
Warning: Cannot modify header information - headers already sent in
Warning: session_start(): Cannot send session cache limiter - headers already sent
- Жалоба