ru en
Раздел помощи
Версия для печати

PHP — настройка модуля, диагностика и решение проблем в работе скриптов

Содержание

  1. Общая информация
  2. Обзор интерфейсов управления и настроек
  3. Диагностика и решение проблем в работе скриптов сайта

1. Общая информация

Сегодня PHP — один из наиболее популярных языков программирования, используемых для создания сайтов. На хостинге R01 код PHP-скриптов обрабатывается модулем веб-сервера Apache. От правильной настройки данного модуля в первую очередь зависит оптимальная и корректная работа сайта.

Администратору услуги хостинга R01 предоставлена возможность гибкой настройки модуля PHP, в том числе выбора версии модуля, подключения расширений, изменения директив php.ini.

В настоящее время на хостинге R01 доступны следующие версии интерпретатора PHP:

  • 4.4
  • 5.1
  • 5.2
  • 5.3

Переключение версий осуществляется в разделе «Веб-сервер»«Управление модулями» панели управления хостингом (https://www.r01.ru, раздел «Для клиентов»). Подробнее об этом процессе — в следующем разделе.

Прежде чем приступить к настройке модуля PHP, необходимо узнать у разработчиков скриптов сайта или в документации к CMS технические требования к серверу хостинга и настройкам PHP в частности.

2. Обзор интерфейсов управления и настроек

Управление модулем PHP производится в разделе «Веб-сервер» — «Управление модулями» панели управления хостингом (https://hosting.r01.ru).

2.1. Выбор версии модуля PHP

Доступные для подключения версии модуля PHP представлены в разделе «Веб-сервер»«Управление модулями» панели управления хостингом (https://www.r01.ru, раздел «Для клиентов»). Для того чтобы подключить подходящую под требования вашего сайта версию, необходимо пометить ее галочкой и нажать кнопку «Включить» в нижней части страницы.

После подключения нужной версии модуля PHP вы можете перейти к его настройке. Для этого перейдите по ссылке «настроить модуль».

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

2.2. Управление расширениями модуля PHP

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

Чтобы подключить недостающее расширение:

  • в блоке «Расширения модуля PHP» нажмите на ссылку «Управление расширениями»;
  • пометьте галочкой пункт «Все расширения»;
  • найдите в открывшемся списке нужное расширение, пометьте его галочкой и сохраните изменения.

2.3. Изменение параметров модуля PHP (директив php.ini)

В нижней части страницы настроек модуля PHP размещена таблица с изменяемыми параметрами. Установите необходимые значения в соответствии с требованиями скриптов сайта и сохраните изменения.

 

2.4. Получение подробной информации о настройках модуля PHP

В панели управления показаны только отключаемые расширения. Получить полный список расширений и параметров вы можете с помощью функции phpinfo():

  • создайте в каталоге docs вашего сайта файл info.php со следующим содержимым:

    <?
    phpinfo();
    ?>

  • обратитесь к данному скрипту по адресу http://ваш_домен/info.php — так вы получите подробную информацию о модуле PHP.

Описание параметров php.ini доступно в официальной документации на сайте http://php.net.

3. Диагностика и решение проблем в работе скриптов сайта

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

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

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

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

Чтобы включить отображение ошибок, в настройках модуля PHP (как указано в п. 2 данной инструкции) напротив параметра «Все предупреждения и ошибки E_ALL» выберите «Да» и сохраните изменения.

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

3.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, если имя функции однозначно не позволяет определить расширение.

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

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

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

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

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

3.4. Ошибка «Headers already sent…«

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

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

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

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

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

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

Комплексное решение, которое может помочь снизить потребление ресурсов:

  • отключение неиспользуемых скриптами сайтов модулей веб-сервера Apache и расширений PHP,
  • оптимизация скриптов сайтов на предмет снижения потребления памяти,
  • ограничение активности поисковых роботов с помощью файла robots.txt,
  • переход на тарифный план хостинга с большим количеством предоставляемой памяти.
Copyright © 2000-2016 Registrar R01
Информация для клиентов: +7 (495) 783-3-783; info@r01.ru
Техническая поддержка: +7 (495) 783-3-783; support@r01.ru
Центральный офис: г. Москва, Ленинградский проспект, дом 74, корпус 4