QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: alice_alice

帮忙看看为什么php文件放在cgi-bin里不执行?

[复制链接]
发表于 2005-5-2 18:51:29 | 显示全部楼层
[quote:86aa1696c9="ise"]我记得在apache的配置文件里有关于cgi-bin文件家的定义.要是你真的想把php放到这个目录下的话,那就要改以下了.scripalias /cgi-bin/ /.......(记不清了)不好意思.[/quote]
[code:1]#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applications and
# run by the server when requested rather than as documents sent to the client.
# The same rules about trailing "/" apply to ScriptAlias directives as to
# Alias.
#
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
[/code:1]
回复

使用道具 举报

发表于 2005-5-5 23:26:52 | 显示全部楼层
[quote:e172945fdb="dannycat"][quote:e172945fdb="alice_alice"]那是我“用词不当”么,我的意思是说把一个php程序放在cgi-bin里,按放在html目录下的网页上的submit,得不到返回的结果。但是同样的程序我用perl写好,放在cgi-bin里,用同样的网页就能得到结果,我不知道是什么原因造成的,因此请教各位。如果不能用“执行”,那应该是用个什么词来说才是对的?[/quote]不是用词的问题。我想是因为你还没有理解什么是CGI。

给你一个简单的判断点:

CGI 程序是可以在命令行下被SHELL(而不是被 HTTP 服务器直接执行的程序,也就是说你可以直接用 ./file_name 这种形式来运行。
于是,传统的 CGI 都是各类二进制程序。而脚本,比如 Perl ,虽然它是需要 Perl 环境才能正确执行,但是通过文件头部的“#!/usr/bin/perl”可以让 Shell 知道如何处理它。

ASP、JSP、PHP 这类“服务器端脚本”则不同,它是依赖于 HTTP 服务器模块来运行的,脱离了 HTTP 服务器就无法独立运行。[/quote]

这个是因为楼主的PHP不是使用cgi模式安装的,把PHP重新安装以下,就可以让PHP是作为cgi程序运行的了……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-5 22:41 , Processed in 0.065316 second(s), 12 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表