![apache2 和 php5:模块或过滤器](https://linux22.com/image/570696/apache2%20%E5%92%8C%20php5%EF%BC%9A%E6%A8%A1%E5%9D%97%E6%88%96%E8%BF%87%E6%BB%A4%E5%99%A8.png)
php5 模块 (libapache2-mod-php5) 和 apache2 的 php5 过滤器模块 (libapache2-mod-php5filter) 之间有什么区别?我应该在哪种环境中使用哪一个?
答案1
libapache2-mod-php5filter 不会将所有 http 请求方法传递给您的 PHP 应用程序 - 例如,PUT 和 OPTIONS 请求由 Apache 直接应答,而不是您的 PHP 应用程序。
我认为它作为一种安全措施限制了 PHP 处理的方法。
另一方面,libapache2-mod-php5 将所有请求传递到 PHP 进行处理。
从https://launchpad.net/ubuntu/+source/php5/5.3.3-7ubuntu1, 这条信息:
“除非您特别需要过滤模块支持,否则您很可能应该安装 libapache2-mod-php5”
答案2
为了便于部署和配置, 使用libapache2-mod-php5
。
这确实容易得多,但会导致更高的内存使用量(因为每个请求都会加载 PHP)
为了可扩展性,使用mod_fcgi
和php-fpm
。
因为它运行一个 PHP 监听器池,然后使用 FastCGI 协议在 Apache 和 PHP 池之间进行通信。
答案3
libapache2-mod-php5filter 用于内部 apache php 过滤器。我想您可以这样运行应用程序,但并不推荐这样做,因为这不是它的意图。另一方面,mod-php5 是一个生成内容的内容模块(来自您的 php 应用程序),这才是应该使用的。