Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我必须学习CGI编程来建立和维护一个网站吗?_Php_Cgi_Maintenance - Fatal编程技术网

Php 我必须学习CGI编程来建立和维护一个网站吗?

Php 我必须学习CGI编程来建立和维护一个网站吗?,php,cgi,maintenance,Php,Cgi,Maintenance,我是一名自学成才的开发人员,通过学习HTML、CSS、PHP、SQL和JAVASCRIPT创建了自己的网站。它是一个交互式网站,根据简单的表单输入(有点像字典样式)显示信息。在阅读apache.org中的文档时,我碰巧知道CGI编程,我感到困惑。我必须学习CGI编程来建立和维护一个网站吗?(这是一个单人项目) 编辑: 在得到答案(并接受)后,我对CGI做了一些研究 注:(适合像我这样的初学者) CGI不是一种编程语言,正如其名称(公共网关接口)中所述,它是一种在服务器中运行脚本(由浏览器请求)并

我是一名自学成才的开发人员,通过学习HTML、CSS、PHP、SQL和JAVASCRIPT创建了自己的网站。它是一个交互式网站,根据简单的表单输入(有点像字典样式)显示信息。在阅读apache.org中的文档时,我碰巧知道CGI编程,我感到困惑。我必须学习CGI编程来建立和维护一个网站吗?(这是一个单人项目)

编辑: 在得到答案(并接受)后,我对CGI做了一些研究

注:(适合像我这样的初学者) CGI不是一种编程语言,正如其名称(公共网关接口)中所述,它是一种在服务器中运行脚本(由浏览器请求)并将结果返回到浏览器的接口

这篇维基百科文章(关于PHP)对web服务器中CGI和PHP之间的关系有一个相当好的解释,我在下面引用它

向web服务器添加对PHP的支持主要有两种方法 –作为本机web服务器模块,或作为CGI可执行文件。PHP有一个 称为服务器应用程序编程的直接模块接口 接口(SAPI),由许多web服务器支持,包括 ApacheHTTP服务器、MicrosoftIIS、Netscape(现已失效)和iPlanet。 其他一些web服务器(如OmniHTTPd)支持Internet服务器 应用程序编程接口(ISAPI),这是微软的网站 服务器模块接口。如果PHP没有对web的模块支持 服务器,它始终可以用作公共网关接口(CGI)或 快速CGI处理器;在这种情况下,web服务器被配置为使用 PHP的CGI可执行文件,用于处理对PHP文件的所有请求


这只涉及PHP和CGI,CGI可以与C、Perl等程序语言一起使用。当你搜索CGI时,你总是会发现CGI和Perl在一起,但这并不意味着Perl是CGI或CGI是Pearl,CGI脚本也可以是其他语言。

在我看来,如果你的目标只是具有静态上下文的站点,那么,知道你已经提到了什么就足够了。但是,对于动态内容(以及在服务器端运行内容),您需要lern CGI。我曾经用Perl处理过CGI,我很喜欢,但是CGI也可以用任何其他编程语言完成,比如PHP。

在我看来,如果您的目标只是具有静态上下文的站点,那么了解您已经提到的内容就足够了。但是,对于动态内容(以及在服务器端运行内容),您需要lern CGI。我曾经用Perl处理过CGI,我很喜欢,但CGI也可以用任何其他编程语言完成,比如PHP。

@dmi,谢谢,我的网站包含动态内容。你能告诉我如何用php进行cgi吗?请解释什么是fast_cgiIn(据我所知),cgi为你提供了一种在服务器端执行程序的方法,以形成动态内容,然后在客户端(浏览器)显示。通过这种方式,您可以将客户端动态(例如通过JavaScript实现)与服务器端动态结合起来。例如,CGI可以用来从数据库中读取一些数据以显示在浏览器中。从链接中,我有以下内容:,和。不幸的是,我不知道该怎么做。但总的来说应该是这样的。1) 您需要将web服务器配置为能够处理CGI请求。2) 您需要编写一个脚本(PHP或Perl或其他什么),当收到CGI请求时,web服务器将调用该脚本。脚本将从服务器输入参数中检索内容,并将服务器发送回浏览器的内容返回给服务器。这些内容可以是普通的HTML,也可以是二进制的,这取决于客户的要求。啊,是的,我记得FastCGI和CGI之间的区别。在CGI中,服务器可以有许多CGI脚本,它将根据来自浏览器的CGI请求运行这些脚本。正如您所知,启动一个新流程需要花费系统的时间。因此,在FastCGI中,服务器只有一个独立运行的CGI脚本(与web服务器一起持久运行),并且与服务器有一个持久连接(比如管道或索契)。@dmi,谢谢,我的站点包含动态内容。你能告诉我如何用php进行cgi吗?请解释什么是fast_cgiIn(据我所知),cgi为你提供了一种在服务器端执行程序的方法,以形成动态内容,然后在客户端(浏览器)显示。通过这种方式,您可以将客户端动态(例如通过JavaScript实现)与服务器端动态结合起来。例如,CGI可以用来从数据库中读取一些数据以显示在浏览器中。从链接中,我有以下内容:,和。不幸的是,我不知道该怎么做。但总的来说应该是这样的。1) 您需要将web服务器配置为能够处理CGI请求。2) 您需要编写一个脚本(PHP或Perl或其他什么),当收到CGI请求时,web服务器将调用该脚本。脚本将从服务器输入参数中检索内容,并将服务器发送回浏览器的内容返回给服务器。这些内容可以是普通的HTML,也可以是二进制的,这取决于客户的要求。啊,是的,我记得FastCGI和CGI之间的区别。在CGI中,服务器可以有许多CGI脚本,它将根据来自浏览器的CGI请求运行这些脚本。正如您所知,启动一个新流程需要花费系统的时间。因此,在FastCGI中,服务器只有一个独立运行的CGI脚本(与web服务器一起持久运行),并且与服务器有一个持久连接(比如管道或sochet)。