PHP两种运行方式Apache模块和CGI的区别
来源:中国U网 日期:2021-03-31 类别:程序编程 点击:2120 

“简单说就是PHP以Apache模块运行方式执行更快,CGI运行方式更安全。”
在PHP开发环境配置的过程中,一般会遇到选择PHP运行方式的问题,选择那种运行方式呢?首先要弄明白这两种运行方式的区别。
Apache模块
Apache模块被编译成Apache二进制文件,因此PHP解释器在Apache进程中运行,这意味着当Apache产生一个子进程时,每个进程已经包含PHP的二进制映像。 CGI作为每个请求的单个进程执行,并且必须对PHP可执行文件进行exec()或fork()调用,这意味着每个请求都将创建一个新的PHP解释器进程。 Apache在处理请求和管理资源方面效率更高,这使得Apache模块比CGI更快(并且在负载下更稳定)。
CGI
另一方面,CGI模式更安全,因为服务器现在可以管理和控制对二进制文件的访问。 PHP现在可以以您自己的用户身份运行,而不是以普通的Apache用户身份运行。这意味着您可以将数据库密码放在只有您自己可读的文件中,并且您的php脚本仍然可以访问它!现在,“组”和“其他”权限的限制更加严格。 CGI模式在许多方面也被认为是更加灵活的,因为您现在不应该看到它,因为phpSuExec问题是由Apache用户接管文件所有权的,因此,在尝试使用FTP时,您应该不再有问题访问或修改已通过PHP界面上传的文件,例如Joomla!上传选项。
如果服务器配置为将PHP作为Apache模块运行,则可以选择使用php.ini或Apache .htaccess文件,但是,如果服务器以CGI模式运行PHP,则只能选择使用由于Apache不再完全控制PHP,因此可以在本地更改php.ini文件的设置。
简单说就是PHP以Apache模块运行方式执行更快,CGI运行方式更安全。
关键词:PHP运行方式,Apache模块,CGI
PHP两种运行方式Apache模块和CGI的区别为中国U网原创文章,在不经过允许的情况下,禁止用于商业用途或随意转载,转载请注明出处,并加上本页链接地址:
http://www.cuwww.com/help/detail-96.html
PHP两种运行方式Apache模块和CGI的区别为中国U网原创文章,在不经过允许的情况下,禁止用于商业用途或随意转载,转载请注明出处,并加上本页链接地址:
http://www.cuwww.com/help/detail-96.html

服务器推荐
香港服务器租用:
E3-1230 / 8G / 1TB / 10M = 700元
美国洛杉矶服务器租用:
i3-4130 / 4G / 1TB / 30M=500元
荷兰服务器租用:
E3-1230/8G/4x1T/1G/100TB=680元
瑞典斯德哥尔摩服务器租用:
E3-1240 / 16G / 1T或250GB SSD / 1Gbps=950元
香港服务器租用:
E3-1230 / 8G / 1TB / 10M = 700元
美国洛杉矶服务器租用:
i3-4130 / 4G / 1TB / 30M=500元
荷兰服务器租用:
E3-1230/8G/4x1T/1G/100TB=680元
瑞典斯德哥尔摩服务器租用:
E3-1240 / 16G / 1T或250GB SSD / 1Gbps=950元
- 为什么网站测速都是红色,没有返回200状态码?
- CentOS终止更新之后的替代系统/方案
- 宝塔企业版/开心版安装升级(免绑定宝塔账号)
- Linux下面查找目录下面所有文件,并找到包含某个字符的文件
- 修改Windows远程桌面登录端口
- 把Python程序编译成Windows可执行文件exe的工具pyinstaller
- 解决:Could not resolve host: mirrorlist.centos.org; Unknown error解决方法
- 宝塔安装PHP的Swoole扩展的时候,CentOS 7提示No package 'libbrotlienc' found的解决方法
- ModuleNotFoundError: No module named 'PIL'解决方法
- 在Linux服务器上手动生成自签名证书
- Python数据类型中比较有趣的事情
- CentOS Linux下更换为阿里云的源repo