mod_php
意味着PHP,作为Apache模块。
基本上,当作为Apache模块加载时,它允许Apache解释PHP文件(这些文件由mod_php
解释)。mod_php
编辑:在使用Apache时,(至少)有两种运行PHP的方法:
- 使用CGI:PHP进程由Apache启动,是PHP进程解释PHP代码 - 而不是Apache本身
- 使用PHP作为Apache模块(称为
mod_php
):PHP解释器被“嵌入”在Apache进程中:没有外部PHP进程 - 这意味着Apache和PHP可以更好地通信。
并在评论之后重新编辑 :使用CGI或由您决定 :这只是您的Web服务器的配置问题。mod_php
要知道你的服务器上当前使用哪种方式,你可以检查phpinfo()
的输出:应该有一些东西指示PHP是通过(或mod_php5
)还是通过CGI运行的。mod_php
您可能还想看看php_sapi_name()
函数:它返回Web服务器和PHP之间的接口类型。
如果您签入Apache的配置文件,则在使用时,应该有一行如下所示:mod_php
LoadModule
LoadModule php5_module modules/libphp5.so
(右边的文件名可以不同 - 例如,在Windows上,它应该是.dll
)
这个答案取自TuxRadar:
通过Web服务器运行PHP时,有两个不同的选项:使用PHP的CGI SAPI运行它,或者将其作为Web服务器的模块运行。每个都有自己的优点,但总的来说,模块通常是首选的。
将 PHP 作为 CGI 运行意味着您基本上会告诉您的 Web 服务器 PHP 可执行文件的位置,并且服务器运行该可执行文件,并在每次访问页面时为其提供您调用的脚本。这意味着每次加载页面时,PHP都需要读取php.ini并设置其设置,它需要加载其所有扩展名,然后需要开始解析脚本的工作 - 有很多重复的工作。
当您将PHP作为一个模块运行时,PHP实际上位于您的Web服务器内部 - 它只启动一次,仅加载其设置和扩展一次,并且还可以跨会话存储信息。例如,PHP加速器依赖于PHP能够跨请求保存缓存数据,这在使用CGI版本时是不可能的。
使用PHP作为模块的明显优势是速度 - 如果您从CGI转换为模块,您将看到速度大大提高。许多人,特别是Windows用户,没有意识到这一点,并继续使用php.exe CGI SAPI,这是一个耻辱 - 模块通常快三到五倍。
但是,使用CGI版本有一个关键优势,那就是PHP每次加载页面时都会读取其设置。在PHP作为模块运行时,您在php.ini文件中所做的任何更改都不会启动,直到您重新启动Web服务器,如果您正在测试许多新设置并希望看到即时响应,这使得CGI版本更可取。
-
相当于Java中PHP的crypt函数 我正在将我的PHP代码迁移到Google App Engine - Java。因此,我需要一个相当于Java中PHP的crypt函数,因为我已将使用crypt的注册用户的所有密码存储在我的数据库中。 编辑1:这是我用于加密密码的php
-
需要有关如何从接受语言请求标头获取首选语言的示例 我需要一个代码示例或库来解析标头并返回我的首选语言。 指出: “接受语言请求标头”字段类似于“接受”,但限制首选作为请求响应的自然语言集。语言标记在第 3.10 节中定义。
-
无法在 Java 和 PHP 之间交换使用 AES-256 加密的数据 我的问题是:我在Java中加密的东西,我可以在Java中完全解密,但PHP不能解密。我用加密的内容可以使用 解密,但不能在 Java 中解密。 我想从Java应用程序发送和接收加密数据到PHP页面,所以我
-
-
Quercus是Java环境中PHP的可行替代品吗? 对于任何偶然发现这个问题的人,他们不知道是什么 - 它是用Java完成的PHP的实现。 对于我目前正在从事的项目,我们通过cgi在servlet上提供php页面(我知道它很笨拙,但这是支持遗留代码的要求