Как установить значения php_value и php_flag в /.htaccess или user.ini для конкретного сайта?

Обсуждение установки и настройки поддерживаемых вебсерверов, а также работы с ними.
Ответить
AlektroNik
Сообщения: 109
Зарегистрирован: Ср июл 29, 2020 7:26 pm

Как установить значения php_value и php_flag в /.htaccess или user.ini для конкретного сайта?

Сообщение AlektroNik » Вс сен 05, 2021 1:50 pm

Добрый день.
Пытаюсь назначить значения в /.htaccess и получаю 500 ошибку сервера:
/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration

Пытался установить php_value, но для php_flag та же проблема.
php_value session.cookie_lifetime 5356800
php_value session.gc_maxlifetime 5356800

Те же параметры прекрасно работают через php.ini, но хотелось бы указать для конкретного сайта не трогая общие настройки php.ini.
Я подозреваю, что проблема из-за того, что php работает через мост fastcgi.

Есть "Конфигурация user.ini" :8000/?do=php_ini , но там нет возможности добавить свои функции.

У меня сервер на чистом Apache.

Как установить свои значения php_value и php_flag в /.htaccess или user.ini для конкретного сайта?

AlektroNik
Сообщения: 109
Зарегистрирован: Ср июл 29, 2020 7:26 pm

Re: Как установить значения php_value и php_flag в /.htaccess или user.ini для конкретного сайта?

Сообщение AlektroNik » Пн сен 06, 2021 4:22 am

В добавок .user.ini, который создается при изменении "Конфигурация user.ini" :8000/?do=php_ini еще и игнорируется почему-то.
Настройки из него не применяются ;(

Рестарт Apache и PHP-FPM не помогает.

AlektroNik
Сообщения: 109
Зарегистрирован: Ср июл 29, 2020 7:26 pm

Re: Как установить значения php_value и php_flag в /.htaccess или user.ini для конкретного сайта?

Сообщение AlektroNik » Пн сен 06, 2021 6:02 am

Как выяснилось .user.ini все же работает.
НО почему-то НЕ ищет этот файл до корня документа. Т. е. если php скрипт запущен из подпапки /catalog или /admin то не происходит обработка файла из корня сайта по адресу /.user.ini.
Если php скрипт запускается из корня, то все отрабатывает как положено и параметры из /.user.ini применяются. Включая те, которые я прописал ручками, а не через "Конфигурация user.ini" :8000/?do=php_ini
Помогите, пожалуйста, понять почему так?
Может что-то блокирует рекурсивный поиск файла .user.ini до корня?

https://www.php.net/manual/ru/configura ... r-user.php
Файлы .user.ini
В дополнение к основному файлу php.ini, PHP ищет INI-файлы в каждой директории, начиная с директории запрошенного PHP-файла и продолжает поиск до корневой директории (установленной в $_SERVER['DOCUMENT_ROOT']). Если PHP-файл находится вне корневой директории, то сканируется только его директория.

Мой phpinfo:
$_SERVER['DOCUMENT_ROOT'] /home/user/workspace/sites/domain.ru
$_SERVER['SCRIPT_FILENAME'] /workspace/sites/domain.ru/phpinfo.php
user_ini.cache_ttl 300 300
user_ini.filename .user.ini .user.ini

AlektroNik
Сообщения: 109
Зарегистрирован: Ср июл 29, 2020 7:26 pm

Re: Как установить значения php_value и php_flag в /.htaccess или user.ini для конкретного сайта?

Сообщение AlektroNik » Пн сен 06, 2021 6:43 am

И еще один момент ...
Отредактированный вручную /.user.ini перезаписывается после перезапуска Apache или php-fpm.
Этого можно как-то избежать?

Аватара пользователя
alenka
Сообщения: 1993
Зарегистрирован: Ср сен 27, 2017 11:10 am

Re: Как установить значения php_value и php_flag в /.htaccess или user.ini для конкретного сайта?

Сообщение alenka » Пн сен 06, 2021 7:25 am

user.ini работает в директории в которой он прописан, смотрите спецификацию php.
Если нужны свои параметры, отредактируйте файл /etc/brainy/conf/php_ini/main

AlektroNik
Сообщения: 109
Зарегистрирован: Ср июл 29, 2020 7:26 pm

Re: Как установить значения php_value и php_flag в /.htaccess или user.ini для конкретного сайта?

Сообщение AlektroNik » Пн сен 06, 2021 8:11 am

AlektroNik писал(а):
Пн сен 06, 2021 6:02 am

https://www.php.net/manual/ru/configura ... r-user.php
Файлы .user.ini
В дополнение к основному файлу php.ini, PHP ищет INI-файлы в каждой директории, начиная с директории запрошенного PHP-файла и продолжает поиск до корневой директории (установленной в $_SERVER['DOCUMENT_ROOT']). Если PHP-файл находится вне корневой директории, то сканируется только его директория.
alenka писал(а):
Пн сен 06, 2021 7:25 am
смотрите спецификацию php
PHP ищет INI-файлы в каждой директории, начиная с директории запрошенного PHP-файла и продолжает поиск до корневой директории (установленной в $_SERVER['DOCUMENT_ROOT']).

AlektroNik
Сообщения: 109
Зарегистрирован: Ср июл 29, 2020 7:26 pm

Re: Как установить значения php_value и php_flag в /.htaccess или user.ini для конкретного сайта?

Сообщение AlektroNik » Пн сен 06, 2021 11:35 am

alenka писал(а):
Пн сен 06, 2021 7:25 am
user.ini работает в директории в которой он прописан, смотрите спецификацию php.
В принципе я все это дело затеял из-за того, что параметры не принимались /.htaccess. Выдавало 500 ошибку..
Я так понял из-за моста fcgi. Или все же как-то можно заставить эти параметры работать через /.htaccess?
php_value session.cookie_lifetime 5356800
php_value session.gc_maxlifetime 5356800

Ответить