Диагностика и устранение ошибок в работе скриптов сайта

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

1. Вместо содержимого сайта отображается пустая белая страница

Вы увидите пустую страницу, если в процессе работы скриптов произошла ошибка. По умолчанию на хостинге Руцентра отключен вывод ошибок в целях безопасности.

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

Чтобы включить отображение ошибок, в настройках модуля PHP включите параметры Обработка ошибок и журнализации error_reporting и Показывать ошибки посетителям сайта display_errors и сохраните изменения.

Если ошибка по-прежнему не будет отображаться — это значит, что вывод ошибок отключен в конфигурационных файлах или скриптах сайта. Для их включения рекомендуем проконсультироваться с разработчиками сайта либо обратиться к документации по используемой вами CMS.

2. Ошибка «Fatal error: Сall to undefined function»

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

  • Fatal error: Call to undefined function simplexml_load_file() in ... — требуется расширение simplexml,
  • Fatal error: Call to undefined function mb_detect_encoding() in ... — требуется расширение mbstring,
  • Fatal error: Call to undefined function ctype_alpha() in ... — требуется расширение ctype.

С помощью поиска на сайте http://www.php.net можно определить принадлежность функции к тому или иному расширению PHP, если имя функции однозначно не позволяет определить расширение.

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

3. Ошибка «Fatal error: Allowed memory size of XXX bytes exhausted»

Данная ошибка возникает, если в процессе работы скрипта была израсходована память, выделенная для его работы. Число в байтах сообщает текущее ограничение объема памяти. Это ограничение задается параметром memory_limit. Необходимо изменить параметр Максимальный объем памяти для работы скрипта (memory_limit)».

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

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

4. Ошибка «Headers already sent»

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

Для устранения ошибки необходимо скачать эти файлы на свой компьютер, открыть и сохранить их в кодировке UTF-8 без BOM-сигнатуры. Для этого следует использовать любой специализированный текстовый редактор, например, notepad++, поддерживающий сохранение файлов в кодировке UTF-8 без BOM-сигнатуры. Стандартный «Блокнот» Windows в данном случае не подходит.

Также для редактирования файлов вы можете использовать раздел Файловый менеджер панели управления хостингом. В самом начале файла, перед открывающим тэгом PHP вы увидите три нечитаемых символа. Удалите их и сохраните изменения.

В ряде случаев для устранения ошибки необходимо добавить в файл .htaccess сайта директиву:

php_value output_buffering 1

5. Нехватка оперативной памяти

Если вы наблюдаете медленную работу сайта, нестабильную работу части функций, например отправки почты функцией mail(), проверьте статистику использования ресурсов, представленную в разделе Ресурсы панели управления хостингом.

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

Всё ещё остались вопросы?