我目前正在开发一个用于运行 PHP 网站的网站托管管理面板(如 Plesk 或 cPanel)。我正在研究使用 Apache 运行 PHP 的最佳方法。mod_php 是不可能的,因为这样的环境需要为每个网站(或在我的情况下是订阅)设置单独的用户。
我已经决定使用 PHP5-FPM 和 mod_fastcgi,效果很好,但我发现 fastcgi mod 不再开发了。这不是问题,因为协议没有改变,但文档不可用(或者我找不到它)。
我遇到的确切问题:在我的服务器上,实时 WordPress 网站上的 TTFB(第一个字节时间)大约为 2 秒,我不喜欢这样,加上几 MB 的照片,时间就太长了。我想要持续的 PHP 流式传输,但似乎无法通过此设置实现,如果没有文档,就更难了。
我应该使用哪种设置以及为什么以及如何使用?
- Apache 模块(如何获得独立用户?)
- mod_fastcgi 和 PHP-FPM (如何让 PHP 流式传输?)
- mod_fcgid 和 PHP-CGI (如何操作?有教程吗?)
- mod_proxy_fcgi 和 PHP-FPM (如何让 PHP 流式传输?)
- 还有其他解决办法吗?
谢谢!(是的,PHP 输出缓冲已禁用,FastCGICfg -flush 没有任何区别,我尝试了在网上遇到的所有解决方案,但似乎没有人在 Apache 中使用这种设置,只有 nginx,但我需要它,因为我必须将控制权交给具有 .htaccess 文件的用户)
答案1
我已设法在 PHP5-CGI 和 mod_fcgid 设置中对其进行了配置,它确实满足了我的需求。它不会将所有内容发送到客户端,因为它是由 PHP 自动生成的,但 flush() 命令开始起作用。TTFB 时间有所减少。我会继续努力,如果发现任何有用的东西,我会更新这个答案。
我使用以下网站来完成当前设置:
- Fcgid设置:http://tltech.com/info/php-on-fcgid/(有修改)
- Fcgid 配置值:https://wiki.mikejung.biz/Fcgid