http://php.ru/manual/configuration.file.per-user.html Кладу в папку файл .user.ini с содержимым: Код (Text): engine = Off upload_max_filesize = 200M short_open_tag = On и еще файлик i.php: Код (Text): <?phpinfo();?> При изменении upload_max_filesize и short_open_tag - работают, engine = Off - не влияет. Собственно и вопрос: как в файле .user.ini отключить обработку сценариев в этой папке? (в .htaccess была строка php_flag engine off, но при CGI она выдает 500-ю ошибку сервера - пришлось отключить)
В документации написано что engine только для Apache модуля PHP https://secure.php.net/manual/ru/apache.configuration.php Просто посмотри как с помощью Apache запретить обработку PHP в нужной директории. Ошибка 500, но в logs веб сервера или PHP что написано? Из-за чего она?
В этой папке (upload) всегда лежал .htaccess: Код (Text): Options -Indexes RewriteEngine on RewriteBase / php_flag engine off RemoveType .php .php3 .php4 .php5 .php6 .phtml .pl .asp .aspx .cgi .exe RemoveHandler .php .php3 .php4 .php5 .php6 .phtml .pl .asp .aspx .cgi .exe Поставил php5610 как CGI - при обращении к картинкам он начал выдавать 500, т.к. при CGI виновата строка "php_flag engine off" - отключил ее, но поставил под сомнение .php7 .php8 .php9 .php10 ... В логах апача: Код (Text): 127.0.0.1 - - [02/Jul/2015:12:07:39 +0500] "GET /img/upload/i.php HTTP/1.1" 500 539 Код (Text): [Thu Jul 02 12:07:39 2015] [alert] [client 127.0.0.1] /img/upload/.htaccess: Invalid command 'php_flag', perhaps misspelled or defined by a module not included in the server configuration Ну в общем эта директива работает если PHP установлен как модуль, а вот обновил до 5.6 - там только CGI и столкнулся с такой проблемой ... а что если придется выкладывать на хостинг с CGI?? Универсальное решение было - "php_flag engine off", теперь его нет ... Пытаюсь задать это настройками .user.ini - не получается.
А вот теперь подумай, 1. engine только для режима mod_php 2. у тебя CGI и engine не будет работать 3. через htaccess, то есть через Apache нет возможности указать engine 4. Вот http://stackoverflow.com/a/18948152 попробуй так
Все манипуляции в .htaccess для апача понятны, вопрос в другом - что можно сделать в самом .user.ini ? (скажем серв IIS)
IIS подключает же как-то PHP, значит можно посмотреть документацию, как это происходит и вычитать там способы которыми ты можешь ограничить выполнение PHP при каких-то нужных тебе условиях. Лучше на форуме по IIS спросить как запретить в определённой папке выполнение CGI скриптов.
Дык это опять конфигурирование сервера (IIS или Apache), а тут выход на сам PHP - .user.ini - думал можно в нем engine=off и все дела ... на крайняк disable_functions = all