您好,欢迎光临中国U网,租用美国服务器香港服务器瑞典服务器等全球各地的服务器。
您现在的位置:首页 > 帮助中心 > 程序编程 > PHP两种运行方式Apache模块和CGI的区别

PHP两种运行方式Apache模块和CGI的区别

来源:中国U网 日期:2021-03-31 类别:程序编程 点击:1645
简单说就是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