一尘不染

什么是mod_php?

php

在阅读Zend教程时,我遇到了以下声明:

请注意,.htaccess中的php_flag设置仅在使用mod_php时有效。

有人可以解释什么意思吗?


阅读 523

收藏
2020-05-29

共1个答案

一尘不染

mod_php 表示PHP,作为 Apache模块

基本上,当mod_php作为Apache模块加载时,它允许Apache解释PHP文件 (由解释mod_php

编辑: 使用Apache时,有 (至少) 两种运行PHP的方式:

  • 使用 CGI :Apache启动了一个PHP进程,并且该PHP进程解释了PHP代码-而不是Apache本身
  • 使用PHP作为 Apache模块 (称为mod_php:PHP解释器就被“嵌入”到Apache进程中:没有外部PHP进程-这意味着Apache和PHP可以更好地进行 通信

在评论后重新编辑 :使用CGI还是mod_php由您决定:这仅是Web服务器的配置问题。

要了解服务器上当前使用的是哪种方式,可以检查以下命令的输出phpinfo():应该有一些指示PHP是通过mod_php
_(或mod_php5)_还是通过CGI运行的。

您可能还需要看一下该 php_sapi_name() 函数:它 返回Web服务器和PHP之间的接口类型

如果您在使用时签入Apache的配置文件mod_php,则应该有LoadModule一行如下所示:

LoadModule php5_module        modules/libphp5.so

(右侧的文件名可以不同-例如,在Windows上,应为.dll

2020-05-29