我在VPS上使用托管,他们不允许我使用php的ini_set函数在运行时设置配置,逐个脚本。相反,我必须直接在php.ini文件中更改设置,这是通过SSH访问的任务。
为什么会这样?
这虽然很好,但有点烦人,因为我在共享服务器上有12个域,而且我不一定想要全面设置设置....
答案 0 :(得分:2)
如果它是针对经销商的产品,则可能会阻止您的客户/客户/用户随意更改php.ini设置,这通常是明智之举。
但是,如果您拥有对该计算机的完全访问权限,那么您是否应该能够重新激活ini_set
?
答案 1 :(得分:1)
关闭safe_mode
并检查disable_functions
此指令允许您出于安全原因禁用某些功能。它采用以逗号分隔的函数名列表。 disable_functions不受安全模式的影响。必须在php.ini中设置此指令。例如,您无法在httpd.conf中设置此指令。
答案 2 :(得分:0)
VPS提供商倾向于强制其用户使用最安全的环境。禁用ini_set()
通常是一种很好的安全措施,因为您可以轻松地在PHP代码中使用eval()
语句,例如使用GET / POST / SESSION变量作为输入。我相信如果启用ini_set()
,默认情况下会屏蔽safe_mode
。我想任何共享托管服务提供商都会强制执行safe_mode
。
答案 3 :(得分:0)
您能告诉我们有关服务器组件的更多信息吗? PHP作为CGI或mod_php。 PHP是否启用了suPHP或其他保护系统? 可以使用.htaccess文件更改某些选项。您是否可以直接访问httpd.conf文件?在那里你可以启用ini_set() - > http://php.net/manual/en/configuration.changes.php