2016-03-08 3 views
0

Не знаю, как сформулировать этот вопрос. Я столкнулся с этой проблемой по нескольким причинам. код не генерирует уведомления/warniong/ошибки (она просто умирает), если: 1 Объявляет же имя функции дважды 2 Я пытаюсь передать константу к по ссылке параметруотладка php, когда нет уведомления/предупреждения/ошибки

отладка может быть довольно утомительно, поскольку я понятия не имею, что вызвало это, и это может быть изменение, сделанное некоторое время назад.

Любые мысли о: Как это предотвратить? Технологии отладки?

Код работает на сервере, а не на моей машине. Спасибо за любую помощь.

+0

сделать error_reporting (1); – Deep

ответ

0

Используйте этот код для сообщения об ошибках:

<?php 
ini_set("display_errors", "1"); 
error_reporting(E_ALL); 
?> 
0

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

error_reporting(E_ALL | E_STRICT); 
ini_set('display_errors', 1); // Any syntax errors 

Во-вторых, Помимо этого вы не можете объявить функцию с таким же именем в том же классе.

В-третьих, Что касается передачи константы, это потому, что вы не можете передавать константу по ссылке там, и не было бы никакого способа сделать. Это неизменно. Константы не являются переменными.

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

  1. переменных, т.е. Foo ($ а) // Foo является функция
  2. Новые заявления, то есть Foo (новый Foobar())
  3. Ссылки возвращается из функции

Никакие другие выражения не должны передаваться по ссылке.

Четвертый, Всегда используйте обработку исключений для управления пользовательскими ошибками.

Для получения дополнительной информации, как пройти по ссылке, проверьте ссылку Here

+0

Это не отвечает на проблему. Проблема - это отладка, а не то, что разрешено или запрещено. Я понимаю, что то, что я пытаюсь проверить, не допускается. Почему код просто перестает работать? Однако они могут произойти при кодировании. Маршрут их обнаружения кажется очень сложным. Простая ошибка будет приятнее. Кажется, это недоступно. Это ограничение языка? –

+0

Для простой или пользовательской ошибки вы должны использовать здесь обработку исключений. – Deep

0

Просто вставьте верхнюю часть файла

<?php error_reporting(0);?> 

подавить все ошибки. Или используйте

<?php error_reporting(E_ALL);?> 

чтобы получить содержательные сообщения об ошибках. Более подробную информацию об отчетности об ошибках можно найти здесь: http://php.net/manual/de/function.error-reporting.php

+0

Хорошо, что бы подавить отчет об ошибках. OP может быть больше помог, фактически, при печати ошибок вместо их скрытия. В любом случае, пожалуйста, всегда старайтесь объяснить смысл ответов только на код. Почему он должен публиковать это в своем коде, какой эффект? –

Смежные вопросы