我从一个相当标准的Ubuntu 9.10为一个类设置了一个wordpress服务器,他们经常遇到默认的PHP.ini设置问题。 首先内存设置太低,然后file upload限制太小,等等。而更关心的是一个wordpress宽空白页,我怀疑是杀害公羊消费,但在php.ini中打开php错误没有透露任何东西!
我不太了解共享主机,但是我觉得这样的地方允许用户编辑这些东西,而不需要我介入和重启Apache。
从技术上讲,在运行时不能修复php.ini文件(只有在apache启动时才能读取iirc文件),但是实际上并不需要改变它来进行修改。
ini-set允许您更改代码中的选项。 一次设置一个选项有点繁琐,所以他们把parse_ini_file添加到…以及parsing一个.ini文件。
您也可以使用php_flag指令使用.htaccess文件覆盖这些值。
您可能不希望让用户触摸PHP.ini设置(特别是因为这需要设置AllowOverride Options或AllowOverride All ,这可能会为您的用户打开许多方法来创build安全漏洞。
当我在做ISP /共享主机的时候,我设置了比较宽松的系统范围限制,经常遇到这些限制的用户可以购买更高级别的服务(在这一点上,我或pipe理团队的某个人将编辑他们的Apacheconfiguration特定的虚拟主机和增加他们的限制)。
这有两个主要优势:安全性(用户不能满足你的所有内存或上传一些大容量的大文件并填充你的磁盘)和现金stream(用户获得更多的资源份额被迫支付),额外的对你的时间要求相对较低。 作为奖励,你也知道你正在提交什么资源,所以你知道你是否过度提交服务器到一个点,你可能需要提出一个新的,并迁移一些客户端。
通过FastCGI运行它们,这样你就可以把所有东西都隔离到自己的UID(suPHP / suExec)。 然后,提供一个加载自定义ini文件的php包装器。 这将让他们编辑自己的设置,但保持一切限制在自己的UID。 我有一些Wordpress安装像这样工作(虽然我也设置每个用户的内存限制)。