# Язык программирования PHP
PHP — самый распространённый язык программирования для создания веб-приложений. На PHP написано большинство динамических сайтов, CMS и блоговых движков. При подключении услуги Поддержка PHP на хостинге можно будет использовать скрипты, написанные на этом языке.
# Поддерживаемые версии PHP
Для каждого подключённого к хостингу домена можно установить отдельную версию PHP. Полный список поддерживаемых версий PHP и пути к их интерпретаторам можно посмотреть в разделе УправлениеТехническая информация.
Переключение между версиями происходит в разделе УправлениеНастройки веб-сервера. Здесь же, но уже на вкладке «Настройки PHP» представлены все подключаемые модули и расширения выбранной версии PHP.
Обратите внимание
Устаревшие версии PHP не поддерживаются разработчиками и могут иметь проблемы с безопасностью. Рекомендуем использовать последнюю из доступных версий.
# Выполнение php-скриптов
PHP-скрипты исполняются от имени владельца аккаунта, а не от имени веб-сервера. Чтобы PHP смог что-то записать в папку, права на папку должны быть установлены 0755.
По умолчанию PHP-скриптом считается файл с расширением .php или .phtml.
Для работы скриптов на Джино.Хостинге выделяется 128 МБ оперативной памяти.
# Как узнать текущие установки PHP
Чтобы узнать текущие установки PHP, создайте в папке domains в подпапке с вашим доменным именем (``~/domains/example.com/) файл phpinfo.php со следующим содержанием:
<?php phpinfo(); ?>
В браузере зайдите по адресу 'example.com/phpinfo.php'.
На этой странице будет представлена большая таблица с полным описанием всех настроек текущей версии PHP, работающей на этом домене.
# Запуск PHP в режиме CGI
Запуск PHP в режиме CGI позволяет указывать свой php.ini, работать из PHP с любыми файлами на аккаунте и иметь полный доступ к файлам, созданным из PHP.
Чтобы запустить PHP режиме CGI нужно подключить услуу «Поддержка веб-приложений» (Поддержку PHP можно отключить).
После этого в папке domains в подпапке с доменным именем, на котором будет работать скрипт (~/domains/example.com), создайте файл php.cgi со следующим содержанием:
#!/bin/bash
/usr/local/bin/php-cgi -n
Также можно создать файл php.cgi со следующим содержанием:
#!/bin/bash
/usr/local/bin/php-cgi -c /path/to/file/php.ini
После этого установите на файл php.cgi права 0755 (rwxr-xr-x) — это можно сделать в файловом менеджере, щёлкнув правой кнопкой мыши на нужном файле. Также проверьте права на папку с доменным именем: должны быть 0755 (drwxr-xr-x).
Последний шаг — в подпапке с доменным именем создайте файл .htaccess со следующим содержимым:
Action php-cgi /php.cgi
AddHandler php-cgi .php
Теперь файлы с расширением .php будут обрабатываться PHP-интерпретатором в CGI-режиме.
Недостатки запуска PHP через CGI: низкая скорость работы, недоступность некоторых функций модуля и потенциальная небезопасность (если ваш скрипт взломают, это может иметь более серьезные последствия, чем если бы PHP работал как модуль Apache). По этим причинам мы не рекомендуем запускать PHP через CGI.
# php.ini
В конфигурационном файле php.ini находится большинство настроек PHP.
На сайте php.net (opens new window) приведён список директив php.ini, которые вы можете использовать в файле .htaccess.
На Джино.Хостинге можно использовать только те директивы, которые обозначены параметрами PHP_INI_USER, PHP_INI_PERDIR, PHP_INI_ALL.
Список директив категории PHP_INI_SYSTEM, которые можно изменить, приведён в разделе УправлениеНастройки веб-сервера.
Например, чтобы включить magic_quotes_gpc, нужно прописать директиву функции в файле .htaccess:
php_flag magic_quotes_gpc on
Чтобы отключить буферизацию вывода данных, в файле .htaccess укажите следующий код:
php_flag output_buffering off
Чтобы отключить глобальные переменные, добавьте в .htaccess строчку:
php_flag register_globals off
Все приведённые выше параметры прописаны через директиву php_flag, поскольку они могут принимать только значения — on/off (1/0). Если значение прописываемого параметра может быть отлично от нуля или единицы (т. е. от on или off), то следует использовать директиву php_value.
Например, чтобы увеличить объём загружаемого файла через скрипты, создайте файл .htaccess в папке скрипта или папке домена и поместите в него следующие директивы:
php_value upload_max_filesize 15M
php_value post_max_size 15M
Здесь 15M — это максимальный размер загружаемого файла в МБ. Укажите нужный вам размер. На Джино.Хостинге PHP работает как модуль Apache, поэтому по умолчанию использовать пользовательский php.ini нельзя.
Если вы хотите использовать собственный php.ini вы можете запустить PHP в режиме CGI.
Большую часть настроек можно изменить, не запуская PHP в режиме CGI — через файл .htaccess и раздел меню УправлениеНастройки веб-сервераНастройки PHP.
# allow_call_time_pass_reference
Некоторые CMS требуют включить параметр php.ini allow_call_time_pass_reference. Для этого создайте в нужной папке (например, в папке, куда устанавливаете скрипт) файл .htaccess и поместите в него такую директиву:
php_flag allow_call_time_pass_reference on
Если файл .htaccess в нужной папке уже существует, то просто добавьте эту строку в конец. Действие этой директивы распространяется и на все подпапки.
# register_globals
Некоторые скрипты требуют включения директивы register_globals. Для этого в папке скрипта или в папке домена создайте файл .htaccess и поместите в него следующую директиву:
php_flag register_globals on
Если файл .htaccess в нужной папке уже существует, то просто добавьте эту строку в конец. Действие этой директивы распространяется и на все подпапки.
# Вопросы и ответы
Как изменить часовой пояс на сайте?
Добавьте в файл .htaccess строку с указанием нужного часового пояса (например, московского):
php_value date.timezone 'Europe/Moscow'
Список поддерживаемых временных зон можно узнать на сайте php.net (opens new window).
Почему вместо результатов работы PHP-скрипта я вижу лишь пустую белую страницу?
Скорее всего, в процессе работы скрипта произошла ошибка, а в файле .htaccess отключён вывод ошибок на экран. Чтобы его включить, добавьте в этот файл (обычно он находится в вашей домашней директории, папке домена или папке с вашим скриптом) строку:
php_flag display_errors on
Если такая строка уже есть, приведите её к указанному выше виду.
После завершения отладки скрипта настоятельно рекомендуем снова выключить отображение ошибок.
Почему вместо результатов работы PHP-скрипта скачивается файл *index.php*?
Это значит, что у вас не подключена услуга «Поддержка PHP», и обработка PHP-скриптов на вашем аккаунте не работает. Подключить услугу можно в разделе Услуги.
Как выключить отображение ошибок PHP?
На серверах хостинга Джино по умолчанию включён вывод ошибок в PHP-скриптах в браузер. Чтобы отключить отображение ошибок, создайте в своей домашней директории, в папке домена или в папке со скриптом файл .htaccess и добавьте в него следующую строку:
php_flag display_errors off
После завершения отладки скрипта рекомендуется выключать отображение ошибок.