一个非常基本的问题.我只是发现了两个可执行文件php-cgi.exe,并php.exe在我的笔记本电脑WAMP服务器的bin文件夹.我正在学习PHP,无法找出差异.他们之间有什么区别?
Abd*_*ira 43
来自http://www.php-cli.com/php-cli-cgi.shtml
这些是CLI和CGI之间最重要的区别:
Mah*_*alt 28
这可能会让您更广泛地了解它们之间的差异:
CGI :(公共网关接口)它是用于在Web服务器和CGI程序之间传输信息的规范"协议".
CGI程序是任何旨在接受和返回符合CGI规范的数据的程序.
基本上,这是一种在HTTP请求到来时运行服务器端脚本(PHP,Perl,Python,...)的方法.
与其他替代方案相比,CGI非常缓慢.
FastCGI:是一个更好的CGI.
快速CGI是一种不同的方法,结果更快.
这是一个只有少数扩展的CGI.
FastCGI实现不再可用,支持PHP-FPM.
PHP-FPM:(FastCGI Process Manager),它比旧的FastCGI更好的FastCGI实现.
它作为独立的FastCGI服务器运行.
通常,它是Web服务器(Apache,Nginx ..)的PHP接口,允许Web Server与PHP交互.
与PHP-CLI不同,后者是PHP的命令行界面,允许用户通过终端与PHP进行交互.
mod_php:运行PHP的Apache模块.
它直接在Web服务器中执行PHP脚本,作为Web服务器的一部分,而无需与CGI程序通信.
mod_SuPHP:类似于mod_php,但可以更改进程运行的用户/组.
基本上它解决了与权限相关的mod_php的一些问题.
Bri*_*oll 17
PHP CLI是PHP的命令行界面(例如,用于创建独立应用程序)
PHP CGI是PHP的通用网关接口(例如,用于Web应用程序)
php-cli用于在命令行上运行PHP. php-cgi为您做其他事情,例如HTTP标头和某些安全性修改.
话虽如此,考虑安装FastCGI模块并使用PHP的FastCGI接口.这应该比php-cgi快得多地运行PHP.我相信标准的Apache FastCGI模块是mod_fcgid.