我正在运行一个带有 WordPress CMS 的网站。我试图安装 W3 Total Cache 来加速站点文件,但我不知道该选择哪个操作码(我在 VPS 上),所以我在我的主机上放了一张支持票。主人回来告诉我以下内容:
APC 在您的 VPS 上不可用。您的 VPS 正在运行带有 SuPHP 的 PHP,因此 APC 无法使用它。
> ====================================================
> -bash-3.1# hostname server.xxxxx.com
> -bash-3.1# /usr/local/cpanel/bin/rebuild_phpconf --current Available handlers: suphp dso cgi none DEFAULT PHP: 5 PHP4 SAPI: none PHP5 SAPI:
> suphp SUEXEC: enabled RUID2: not installed
> bash-3.1#
> ====================================================
suPHP 是必须的,因为它在服务器上提供了额外的保护层。它会导致 php 脚本在帐户用户名下运行,而不是用户 'nobody',这是 apache/php 在未运行 suPHP 的服务器上运行的用户。此功能使我们能够更轻松地跟踪通过用户运行的不安全 php 脚本进入的任何潜在安全漏洞。
如果您仍然需要 APC,那么我们将需要在您的 VPS 上重新编译没有 suphp 的 PHP。请注意,某些网站脚本可能无法在没有 suphp 的情况下使用 PHP。
我还在使用 vBulletin 处理的站点上运行一个论坛。我需要 suPHP 吗?速度与缓存的权衡是否值得删除它?我不是系统管理员,但我读到在共享服务器上最推荐使用 suphp。
你是服务器上唯一的用户吗?您是否为其他人/帐户托管?人们可以上传 php 脚本以在您的服务器上运行吗?
如果以上任何一个的答案是肯定的,那么建议使用 SuPHP,因为它通过强制它以用户身份运行来提供额外的保护层,而不是网络服务器运行的用户身份。如果你删除 su php,所有需要读取 y php 的目录和文件将需要由你的网络服务器用户(通常是 nobody 或 apache 或 httpd)拥有或可写。这也导致人们做一些事情,比如设置世界可读 | 在目录上可写(IE 模式 777),以便 Web 服务器可以读取/写入它们。如果您是唯一在您的 VPS 上使用虚拟主机的个人/公司,那么这不是什么大问题。但是如果你有其他人可以访问服务器,他们可以使用 PHP 通过网络浏览这些目录并公开信息等......所以你需要考虑到这一点。
您的 VPS 似乎预装了各种脚本,这些脚本对于提供共享网络托管服务很有用。其中包括 cPanel 和 suPHP。
虽然这些使用起来很方便,但如果您实际上并没有提供共享网络托管并且您是唯一使用该机器的人,那么它们大多是多余的和不必要的。
特别是 SuPHP,旨在在共享托管环境中将用户彼此隔离。如果您是唯一在那里托管站点的人,那么它就是多余的;您可以简单地将权限设置为您的应用程序可能需要的任何内容。
如果您愿意学习设置 Linux、Apache 等的基础知识,您可能还可以摆脱 cPanel 许可证并节省几美元。