Слишком много include_once / require_once /include/require

#php #include

#php #включить

Вопрос:

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

Я немного волнуюсь, потому что сейчас я работаю над сайтом, на котором есть почти 20 файлов для включения из разных каталогов.

Я разделил файлы как файл, который содержит функцию страницы, функции сеанса, функцию изображения и многое другое.

Мне нужен совет от кого угодно. Эксперты или не эксперты, мне действительно нужно это знать….

Комментарии:

1. Если вы поместите это в самый верх страницы, перед всем остальным, видите ли вы какие-либо ошибки, которые могут нарушить работу вашего скрипта? ini_set(‘error_reporting’, E_ALL);

2. Когда-нибудь, когда я забыл «;» в конце строки, ничего не покажет, только пустую страницу.

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

Ответ №1:

Похоже, у вас отключены отчеты об ошибках, я не уверен, если это ваш вопрос ;-). Put

 ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
  

в самом начале вашего скрипта, если вы хотите отлаживать и не хотите изменять настройки php.ini. Однако подобная отладка на рабочем сайте по очевидным причинам не рекомендуется (каждый посетитель может увидеть ошибку, включая разумную информацию, которую может содержать ошибка).

Не имеет значения, сколько включений у вас в вашем приложении — 20 не так много, кстати. — вы всегда будете получать ошибку вместе с информацией, в какой строке и в каком файле она произошла …

Комментарии:

1. Я также добавил это, включая следующее:ini_set(«error_reporting», E_ALL); ini_set(«display_errors», true); ini_set(«display_startup_errors «, true); ini_set(«html_errors», true);

2. Не будут ли все потенциальные ошибки запуска уже возникать к моменту вызова ini_set с display_startup_errors помощью?