我的问题
我想关闭php引擎在一个特定的文件夹,在那里用户可以上传文件,但我似乎不知道怎么做。
PHP版本: 5.5.26
PHP模式: PHP -fpm (FastCGI进程管理器)
Apache版本: 2.2.29
(服务器: Synology DS212j——DSM 5.2)
还有什么需要知道的吗?
我已经尝试过了:
禁用。htaccess-file
这是php-fpm(和其他一些模式)不支持的,它给出一个500错误,日志记录:
Invalid command 'php_value', perhaps mis-spelled or defined by a module not included in the server configuration.
每目录单独php . ini中
我已经尝试了每个目录php.ini-files(在头像目录中放置一个额外的php.ini-file),但没有得到工作。PHP从未加载该文件。不知道我做错了什么,我试着把它命名为php.ini和.user.ini,都不起作用。
php.ini主节
我还尝试在主php.ini文件中使用节,
[path=/path/to/secure/dir]
engine = off
max_execution_time = 300
当我这样做并在安全目录中的文件中运行phpinfo()
时,max_execution_time
被设置为300(因此文件已重新加载),但引擎仍在运行(我假设,因为显示了phpinfo()
)。
我也读过关于php-fpm池,但在我看来,你只能通过域/vhost指定池,我错了吗?
编辑vhost
我尝试在这里建议的<Directory /path/to/secure/dir>
部分中从vhosts文件(它是这样称呼的吗?)禁用它,但也不支持。
我正在构建一个基于Paniques的HUGE的应用程序。在上传目录的.htaccess-文件中,php引擎被关闭(出于安全原因),使用php_flag engine off
.
试试这个。htaccess文件:
<Files "*.php">
SetHandler none
SetHandler default-handler
Options -ExecCGI
RemoveHandler .php
</Files>
<IfModule mod_php5.c>
php_flag engine off
</IfModule>
应该同时与php-fpm和mod_php工作
您也可以在任何httpd.conf文件中这样做:
<Directory "/path/to/secure/dir">
<Files "*.*">
SetHandler !
</Files>
</Directory>
在