PHP和libapache2_mod_php有什么区别?

7

我是系统管理员新手,在使用Apache 2服务器时,我需要在Ubuntu 16.04上安装php。

我尝试了基本的sudo apt-get install php,但只加载了一个空白页面(php文件)。

但是安装libapache2_mod_php解决了我的问题。

我想了解它们之间的区别。


php is just a binary that can execute php code, much like java. libapache2_mod_php is a php binary that is designed and compiled to work with the Apache webserver, so that Apache that interpret php and handle it. Apache can't know if you have a php binary unless you give it the very specific instructions that you have: insert libapache2_mod_php - Loek
2个回答

18
很简单:Apache 是万维网服务器,PHP 是一种解释器。通过 libapache2_mod_php 库,Apache 可以向 PHP 发送请求,PHP 构建网站,将渲染的 HTML(或其他内容)发送到 Apache,最后再响应给用户。
流程大致如下: enter image description here 没有这个库,Apache 不知道什么是 .php 文件,并将其识别为可以下载的原始文件,而不由 PHP 解释(有时很危险,例如当您将密码存储在 PHP 文件中时)。

6
libapache2_mod_phpApache服务器中的插件,用于解释.php文件(以及其他文件,具体取决于您如何配置),而不是将.php文件直接提供给用户(否则页面上会显示php代码)。
此模块还比独立可执行文件更快,因为它在Apache进程内运行,而不是每次需要解释脚本时都要启动一个单独的可执行文件。但是它们使用相同的基础库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接