К началу страницы
лучший хостинг тот, который о себе не напоминает

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

Содержание

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

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

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

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

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

5.1 (показать доступные расширения)

bcmath, bz2, calendar, curl, dba, dbase, dom, exif, ftp, gd, gettext, iconv, imagick, imap, ldap, mbstring, mcrypt, mhash, ming, mysql, mysqli, openssl, pdo, pdo_mysql, pdo_sqlite, pgsql, recode, soap, templates, tidy, timezonedb, wddx, xml, xsl, zlib, zend optimizer

5.2 (показать доступные расширения)

bcmath, bz2, calendar, ctype, curl, dba, dbase, dom, exif, filter, ftp, gd, gettext, hash, iconv, imagick, imap, ioncube, json, ldap, mbstring, mcrypt, mhash, ming, mysql, mysqli, openssl, pdo, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, posix, recode, session, simplexml, soap, sqlite, templates, tidy, timezonedb, tokenizer, wddx, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib, zend optimizer.

5.3 (показать доступные расширения)

bcmath, bz2, calendar, ctype, curl, dba, dom, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imagick, imap, ioncube, json, ldap, mbstring, mcrypt, mysql, mysqli, openssl, pdo, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phar, posix, recode, session, shmop, simplexml, soap, sockets, sqlite, sysvmsg, sysvsem, sysvshm, templates, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib.

5.4 (показать доступные расширения)

bcmath, bz2, calendar, ctype, curl, dba, dom, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imagick, imap, ioncube, json, ldap, mbstring, mcrypt, mysql, mysqli, opcache, openssl, pdo, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phar, posix, recode, session, shmop, simplexml, soap, sockets, sqlite3, sysvmsg, sysvsem, sysvshm, templates, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib.

5.5 (показать доступные расширения)

bcmath, bz2, calendar, ctype, curl, dba, dom, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imagick, imap, ioncube, json, ldap, mbstring, mcrypt, mysql, mysqli, opcache, openssl, pdo, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phar, posix, recode, session, shmop, simplexml, soap, sockets, sqlite3, sysvmsg, sysvsem, sysvshm, templates, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib.

5.6 (показать доступные расширения)

bcmath, bz2, calendar, ctype, curl, dba, dom, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imagick, imap, ioncube, json, ldap, mbstring, mcrypt, mysql, mysqli, opcache, openssl, pdo, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phar, posix, recode, session, shmop, simplexml, soap, sockets, sqlite3, sysvmsg, sysvsem, sysvshm, templates, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib.

7.0 (показать доступные расширения)

bcmath, bz2, calendar, ctype, curl, dba, dom, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imap, json, ldap, mbstring, mcrypt, mysqli, opcache, openssl, pdo, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phar, posix, recode, session, shmop, simplexml, soap, sockets, sqlite3, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib.

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

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

Примеры настройки хостинга RU-CENTER под некоторые популярные CMS опубликованы в разделе http://hosting.nic.ru/cms/.

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

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

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

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

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

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

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

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

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

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

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

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

2.4. Ручное редактирование php.ini

Для редактирования файла php.ini необходимо:

  • загрузить на ваш компьютер файл, соответствующий вашей версии PHP (php5.ini, php53.ini, php54.ini, php55.ini, php56.ini), из директории /home/идентификатор/etc;
  • отредактировать полученный файл и сохранить его как php.ini;
  • загрузить отредактированную версию в домашнюю директорию /home/идентификатор;
  • перейти в раздел «Веб-сервер» панели управления хостингом и выполнить перезапуск сервера.

При использовании собственного php.ini настройки PHP из панели управления хостингом работать не будут. Чтобы вернуться к автоматическим настройкам, нужно удалить php.ini из директории/home/идентификатор/ и перезапустить веб-сервер.

Для отдельных сайтов параметры PHP можно задать с помощью файла .htaccess и директив php_flag, php_value в соответствии с документацией PHP.

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

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

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

    <?
    phpinfo();
    ?>

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

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

2.6. Настройка выполнения PHP-кода в html-файлах

Для этого в корневом каталоге сайта ваш_домен/docs создайте файл .htaccess со следующим содержимым:

RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html .phtml

Создать файл .htaccess можно с помощью файлового менеджера панели управления хостингом.

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

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

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

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

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

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

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

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

php_value output_buffering 1

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

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

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

Рекомендации по снижению потребления оперативной памяти на хостинге.


Проект компании RU-CENTER
Служба круглосуточной технической поддержки:
+7 (495) 994-46-01
+7 (495) 737-06-01 (Москва)
8 800 250-27-99
8 800 555-46-01 (для регионов России)
e-mail: support@nic.ru
Заведите собственную почту от RU-CENTER


© Региональный Сетевой Информационный Центр, 2006-2016