Зачастую у клиентов хостинга возникают вопросы по использованию файла php.ini. И первый вопрос, который задается: «Где он находится и в каких случаях используется?» Да-да, этот файл работает не всегда, а только в том случае, если PHP работает в режиме, отличном от модуля Apache, например, в режиме CGI. Узнать о том, в каком режиме работает PHP можно через функцию phpinfo(); языка php. Просто создайте файл с содержимым <?php phpinfo(); ?> и в одной из строк вывода информации будет указан режим работы PHP.
Далее, давайте поговорим о расположении файла php.ini, т.е. о том, где конкретно лежит этот файл. Точное расположение этого файла не имеет четкого значения, поэтому для определения точного значения лучше обратиться в техническую поддержку хостинга. Также на некоторых хостингах файл может сработать, находясь в корневой директории сайта. Еще одним методом определения расположения будет информация из функции phpinfo по строке _SERVER["ORIG_SCRIPT_FILENAME"], где может быть указан путь до исполняемого файла php. Если директория с этим файлом доступна по FTP, то создать файл php.ini можно в ней и интерпретатор подхватит этот файл. Только учитывайте, что расположение файла считается от корня сервера, а не от корня FTP.
Кстати, на нашем хостинге, этот файл находится в директории от корня сервера:
/home/пользователь/domains/домен/phpX-bin
А от корня FTP:
./domains/домен/phpX-bin
phpX-bin зависит от версии PHP, если Вы подключили 5.3, то это значение будет равно php53-bin.
«Какие параметры можно указывать в php.ini?» В этом файле Вы можете любые распространенные параметры php, но не все параметры могут сработать. Обусловлено это тем, что модификация этих параметров может быть заблокирована настройками сервера хостинг-провайдера в целях безопасности.
Параметры в этом файле указываются в виде:
memory_limit=32M
Т.е., если производитель CMS рекомендует прописать в .htaccess: php_value memory_limit 32M, то в файле php.ini нужно прописывать этот параметр именно в том виде, который указан выше. Это же правило касается значений php_flag из .htaccess.
Следующий вопрос: «Как удалить значения из php.ini?» Значения из этого файла можно удалить двумя путями. Первый – просто стереть ненужные параметры. Второй – закомментировать эти записи.
Т.е. на месте «memory_limit=32M» нужно прописать «;memory_limit=32M». Знак «;» в php.ini в начале строки производит комментирование этой строки. Также этим знаком можно закомментировать часть строки.
Для удаления значений мы рекомендуем использовать способ с комментированием строк файла php.ini, что позволит сохранить значения, которые Вам не нужны на данный момент.
«А что будет, если удалить файл php.ini с хостинга?» На 99.9% уверенно скажем, что ничего не произойдет, кроме того, что все параметры PHP сбросятся в режим умолчания, установленный на хостинге.
В общем, файл php.ini – это не такой уж и сложный файл, как это кажется на первый взгляд, поэтому находим его и используем, но только, если PHP работает вне режима модуль Apache.