fender0107401 发表于 2012-11-26 09:14

我搞不清CGI和PHP是什么关系。

本帖最后由 fender0107401 于 2012-11-26 09:15 编辑

如果我的Apache不支持CGI,那么我能用它来假设那些用PHP写的网站程序吗? :wink:

maochanglu 发表于 2012-11-26 10:16

可以的,apche有 mod_php

fender0107401 发表于 2012-11-26 11:16

回复 2# maochanglu

哈哈,谢谢了。

linux_c_py_php 发表于 2012-11-26 22:53

CGI是通用协议, apache的cgi直接调用/bin/bash -c command解析CGI脚本, 可以是C,可是SHELL, 可以是PYTHON,随便, 只要在文件头部#!指定解释器.

bikong0411 发表于 2012-11-27 09:01

只要遵循CGI的协议,不限语言

fender0107401 发表于 2012-11-27 09:04

:mrgreen:

wangluox 发表于 2012-11-27 17:02

做了几个网站, 还是没弄明白, 根目录里面的cgi做什么用的

weichongli 发表于 2012-11-30 12:08

本帖最后由 weichongli 于 2012-11-30 12:10 编辑

wangluox 发表于 2012-11-27 17:02 static/image/common/back.gif
做了几个网站, 还是没弄明白, 根目录里面的cgi做什么用的

这是个历史问题,有兴趣的话,可以研究一下WEB技术的演变过程(不好意思说是演变史,才几十年).

CGI是一种通用技术,不限语言,只要写出来的东西符合标准即可.

PHP在Apache可以以CGI的模式跑,也可以以内嵌模块的方式跑.

CGI方式是每个请求fork一个子进程,然后再销毁.高频度的访问下,频繁的fork产生额外的系统开销,限制了处理能力,所以在apache下跑php一般都是内嵌模块的方式(mod_php)

话说CGI还有一种变种FASTCGI, 为了解决CGI的这种缺陷, 大概是上世纪90年代中期出现了FASTCGI, 以常驻进程的方式提供CGI服务,
只是差不多与此同时,apache有了mod_perl, mod_php等模块,性能貌似比较有优势,大家都喜欢用这种方式, 所以fastcgi没立刻火起来,

fastcgi这种技术真正火起来,应该是像lighty/nginx之类的轻量级高并发WEB server流行的时候.

fender0107401 发表于 2012-11-30 14:40

回复 8# weichongli

哈哈,非常感谢。
页: [1]
查看完整版本: 我搞不清CGI和PHP是什么关系。