安全模式限制生效。脚本不允许访问 uid 拥有的目录

安全模式限制生效。脚本不允许访问 uid 拥有的目录

我正在运行一个包含多个网站的专用服务器。我为所有网站的通用脚本创建了一个全局目录,而不是在每个网站目录中重复这些脚本。

我如何才能让所有网站都可以访问这个全局目录。我收到以下错误。

Warning: require_once() [function.require-once]: SAFE MODE Restriction in effect. The script whose uid is XXXX is not allowed to access /vhosts/globallibrary/Zend/Application.php owned by uid XXXX

我已经更改了 X 网站的全局目录所有权。因此它对 X 网站来说运行良好。后来我添加了另一个网站 Y 现在我又遇到了同样的错误。如果我更改 Y 网站的 CHOWN,那么 X 网站也会遇到同样的错误。

我不想禁用安全模式限制。有没有解决办法,以便所有网站都可以访问这个全局目录。

当我尝试访问全局目录时,我的浏览器出现以下错误。全局目录与所有其他网站处于同一级别。

为网站启用安全模式是一种好的做法吗?

答案1

安全模式_include_dir允许您设置一个包含目录以用于“安全模式”,这将(应该)绕过安全模式限制

但是安全模式已被贬低并且不应该使用,除非您提供共享主机,但即使如此,也有更好的方法来实现。

答案2

我不想禁用安全模式限制

为什么不?

它被弃用是有充分理由的。

为网站启用安全模式是一种好的做法吗?

不。

设计安全模型远远超出了这里可以合理处理的范围 - 但 PHP 安全模式不应该出现在您的模型中。

作为临时措施,您可以考虑将数据存储在数据库中。

相关内容