我花了大约 4 个小时才在 Ubuntu 11.10 上运行 FastCGI + SuPHP,现在我很高兴它运行得很好,除了一个大问题。
自定义 php.ini 似乎无法加载。我尝试更改一些选项,然后启动 phpinfo(),但 phpinfo() 中没有任何变化,这让我认为配置文件的加载肯定存在问题。
<IfModule mod_suphp.c>
AddHandler x-httpd-php .php
<Location />
SuPHP_AddHandler x-httpd-php
</Location>
suPHP_ConfigPath /home/mdumoulin/Documents/tests/tests
suPHP_Engine on
</IfModule>
正如您所见,我非常小心地确保我没有引用 php.ini 文件本身,而是引用了 vhost 的目录。
在位于“/home/mdumoulin/Documents/tests/tests/php.ini”的 php.ini 中,您可以找到:
[PHP]
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE
display_errors = Off
并且 /var/log/suphp/suphp.log 中的日志不包含任何相关内容,(只有在我测试 suphp 时在这篇文章之前发生的旧错误......
所以我被难住了,不知道我还能做什么!有人有主意吗?
编辑:
最后,终于有时间处理这个问题了,我禁用了 FCGI 并只启用了 SuPHP,但重启后我仍然看到“服务器 API:CGI/FastCGI”。这是我应该得到的吗?我相信得到 CGI 是正常的,因为 SUPHP 可以使用 CGI……但我不再那么确定了……
答案1
为什么不放弃 suPHP/FastCGI,转而使用 PHP-FPM?这样,您可以为每个用户定义一个池,而不必担心配置 suPHP。您还可以获得更好的性能,因为它不需要为每个请求启动一个新进程。
实际上,回答您的问题时,将 CGI/FastCGI 视为 suPHP 的 API 是 100% 正确的。