Номера телефонов
564489658

Вопросы и ответы - PHP

На наших серверах установлена последняя стабильная версия PHP ветки 5.2.x.

Режим работы PHP зависит от тарифного плана. На представленных в данных момент тарифных планах хостинга (линейка «Simple-Prime», VIP-хостинг и ТП «CMS») PHP работает как CGI. На устаревших, но тем не менее еще поддерживаемых для старых клиентов тарифных планах линейки «Economic-Leader» PHP работает как модуль Apache.
Оба варианта имеют как сильные, так и слабые стороны, но настройка PHP как CGI позволяет добиться большей гибкости в настройке (доступ к собстенному php.ini для пользователей) и большей безопасности в работе сервера, поэтому данный вариант был выбран нами при введении новой линейки тарифных планов хостинга, и остается основным.

В DirectAdmin для каждого домена создаётся отдельный каталог в каталоге /domains, данные сайтов необходимо загружать в каталог вида /domains/имя_домена/public_html. Для поддоменов создаётся отдельный каталог с именем поддомена в каталоге public_html домена, в этот каталог следует загружать данные для поддомена.
В cPanel основной домен расположен в каталоге public_html, для всех остальных доменов создаются отдельные каталоги с именем домена в каталоге основного домена, размещать дополнительные домены стоит в каталог вида /public_html/имя_домена
Для поддоменов в cPanel есть возможность выбора директории субдомена при его создании.

Основное различие состоит в том, что при режиме работы PHP как модуля Apache интерпретатор PHP работает как часть веб-сервера Apache, для всех пользователей одновременно. Соответственно, скрипты выполняются от имени unix-пользователя apache. Это означает, что владельцем файлов, создаваемых скриптами, будет apache, что в ряде случаев может потребовать сброса владельца для файлов и папок, а также корректировки прав доступа, установки прав на запись для всех (777 и 666), что может быть небезопасно.
Если же PHP работает как CGI, то интерпретатор запускается для каждого пользователя как отдельный процесс, скрипты выполняются от имени пользователя unix-пользователя, что исключает проблемы, связанные с правами доступа.
Тем не менее, однозначно говорить, что какой-то из вариантов лучше другого, нельзя. Оба режима имеют свои преимущества и недостатки.

Для PHP-скриптов по умолчанию используются следующие комбинации прав доступа (право на запись имеет только владелец): 755 на папки и 644 на файлы. Права на запись для всех, которые нужны в некоторых случаях, будут иметь вид 777 для папок и 666 для файлов.
Настройки прав доступа будут зависеть от режима работы PHP.
Если PHP работает как модуль Apache, то для определенных директорий и файлов часто требуется установка прав на запись для всех, так как интепретатор работает как часть веб-сервера, от имени apache. Обычно подробности настройки прав доступа описаны в сопутствующей скрипту документации.
Если PHP работает как CGI, то достаточно будет прав 755 на папки и 644 на файлы. Права на запись для всех не нужны, и могут приводить к ошибкам, поскольку PHP выполняется от имени пользователя.

Если PHP работает как модуль Apache, настройки PHP следует указывать в файле .htaccess, с помощью префиксов php_flag и php_value. В случае работы PHP как CGI у Вас будет доступ к собственному файлу конфигурации PHP — php.ini.
Подробную информацию о работе с php.ini и .htaccess Вы можете найти в соответствущей ветке раздела «Вопросы и Ответы», а также в сети Интернет.

Safe Mode на хостинге отключен по умолчанию. Для корректировки настроек Safe Mode Вы можете обратиться в службу поддержки клиентов любым удобным Вам способом.

Данный модуль доступен на всех серверах хостинга.

Функции IMAP в PHP на виртуальном хостинге отключены. Если для работы Вашего проекта требуется особая настройка хостинга, установка специфических библиотек и компонентов, Вам подойдет VPS-хостинг. Ознакомиться с предложениями по аренде VPS/VDS можно в одноименном разделе «Услуги».

Если PHP на сервере работает как CGI, нужно проверить файл .htaccess, закомментировать в нем настройки PHP: префиксы php_flag и php_value. Нужные настройки PHP Вы можете вынести в собственный файл конфигурации php - php.ini.
Также следует проверить корректность установленных на файлы и папки прав доступа. На файлы должны быть установлены права 644, на папки — 755. Установить необходимые права доступа можно, воспользовавшись файл-менеджером, встроенным в DirectAdmin. Поддерживается рекурсивная смена атрибутов — для папки и всех вложенных файлов.
Если PHP работает как модуль Apache, то по всей видимости проблема заключается в некорректных настройках .htaccess, или специфике работы скриптов.