我如何让我的用户为 wordpress 设置 PHP.ini 设置?

我如何让我的用户为 wordpress 设置 PHP.ini 设置?

我为一个班级使用相当标准的 Ubuntu 9.10 设置了一个 wordpress 服务器,他们经常遇到默认 PHP.ini 设置的问题。首先是内存设置太低,然后是文件上传限制太小,等等。更令人担忧的是 wordpress 出现空白页,我怀疑是因为内存消耗过大而被关闭,但打开 php.ini 中的 php 错误却没有发现任何问题!

我对共享主机不太熟悉,但我觉得有一种方法可以让用户编辑这些内容,而无需我干预并重新启动 Apache。

答案1

从技术上讲,您无法在 php.ini 文件运行时修复它(iirc 仅在 apache 启动时读取它),但您实际上不必更改它来进行更改。

设置允许您在代码中更改选项。一次设置一个选项有点繁琐,所以他们添加了解析ini文件嗯,解析一个 .ini 文件。

您还可以使用 .htaccess 文件覆盖这些值,使用php_flag指示。

答案2

您可能不想让您的用户触碰 PHP.ini 设置(特别是因为这需要AllowOverride OptionsAllowOverride All设置,这可能会为您的用户创建安全漏洞提供很多方法。

当我在做 ISP/共享主机托管时,我设置了相对宽松的系统范围限制,经常达到这些限制的用户可以更高级别的服务(此时我或管理团队的某个人会编辑其特定虚拟主机的 Apache 配置并增加其限制)。

这有两个主要优点:安全性(您的用户无法占用您的所有内存或上传一些过大的文件并填满您的磁盘)和现金流(占用更多资源的用户必须为此付费),并且对您时间的额外要求相对较小。另外,您还知道自己投入了哪些资源,因此您知道是否过度投入了服务器,以至于可能需要启动新服务器并迁移一些客户端。

答案3

通过 FastCGI 运行它们,这样您就可以将所有内容隔离到它们自己的 UID(suPHP/suExec)。然后,提供一个加载自定义 ini 文件的 php 包装器。这将允许他们编辑自己的设置,但将所有内容限制在自己的 UID 内。我有几个 Wordpress 安装就是这样工作的(尽管我还为每个用户设置了内存限制)。

相关内容