сделать php_value условным в .htaccess? - PullRequest
6 голосов
/ 10 февраля 2011

Мне нужно установить php_value session.save_path в .htaccess.Кажется, для этого требуется полный путь, относительный путь не работает.

Мое веб-приложение работает на серверах Windows и Linux, и я хотел бы, чтобы файл .htaccess был одинаковым в обеих системах,по причинам развертывания.

Можно ли ссылаться на каталог, в котором находится .htaccess, в самом файле .htaccess, примерно так:

php_value session.save_path "<% systempath> / сеансы"

с <% systempath>, автоматически заполняемым в каждой системе?

Ответы [ 4 ]

2 голосов
/ 17 апреля 2012

Вы можете автоматически добавить файл php, который настроит php, с помощью ini_set ()

# .htaccess
php_value auto_prepend_file "autoprepend.php"

Затем:

// autoprepend.php
ini_set('session.save_path', __DIR__ . '/sessions');

Таким образом, он будет работать для любого сценария php в каталоге.

1 голос
/ 02 августа 2017

в apache .htaccess, например, применять php_value только файлы php.

SetEnvIf Request_URI ".php$" IS_PHP
<If "-T env('IS_PHP')">
    php_value auto_prepend_file "./init.php"
</If>
1 голос
/ 10 февраля 2011

Я знаю, что вы можете использовать некоторые переменные окружения.

Вы можете проверить, будет ли это возможно или нет с помощью

%{ENV:variable}
1 голос
/ 10 февраля 2011

Я не думаю, что это возможно с какой-либо директивой Apache.

Но вы можете сделать это с помощью PHP:

ini_set('session.save_path', dirname(__FILE__).'/sessions');

Здесь __FILE__ - магическая константа , которая содержит путь файловой системы к текущему файлу сценария PHP, а dirname возвращает родительский каталог этого файла.

...