为什么我的 php 脚本不起作用
我想做的(最初)如下:
<?php
phpinfo();
?>
我正在运行两个不同的 Web 服务器。如果我尝试在 Firefox 中打开上述内容,在任何文件名下,使用来自 apache 的 :80 端口,它只会回显上述内容。
如果我尝试从端口 8888 上的 python 扭曲 Web 服务器以任何文件名打开上述内容,我会收到 http 500 错误(CGI 脚本错误
脚本标头过早结束。)!
我正在运行 Gentoo linux。我已经用不同的方式安装和重新安装了cgi。任何其他文件(不使用 CGI)都会按预期由两个 Web 服务器提供。
All I want to do (initially) is the following:
<?php
phpinfo();
?>
I have two different web servers running. If I try to open the above in firefox, Under any filename, with the :80 port from apache, it merely echoes the above.
If I try to open the above, as any filename, from a python twisted web server on port :8888, I get a http 500 error (CGI Script Error
Premature end of script headers.)!
I am running Gentoo linux. I have installed and re-installed cgi different ways. Anything other file, not using CGI, is served up as expected with both web servers.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
获胜者是:
我还不知道自己在做什么。我所知道的是我达到了预期的效果:我的根 htdocs 目录中的任何 *.php 或 *.html 文件都将正确呈现 php SCRIPTS。我在网络帖子中发现很多关于这意味着什么的混乱。我的php脚本以
开头,以
?>
结尾 没必要写,也没有必要在 *.php 文件中写出任何 http 标头。
And the winner is:
I don't really know what I am doing yet. All I know is I achieved the desired effect: any *.php or *.html file in my root htdocs directory will correctly render php SCRIPTS. I found a lot of confusion in web posttings about what this entails. My php scripts start with
<?
and end with?>
It was not necessary to write<?php
, nor is it necessary to write out any http headers in a *.php file.你不需要将 php 作为 cgi-bin 运行。只需将文件放在 htdocs 文件夹下即可。
确保您使用 LoadModule 在 httpd.conf 中加载了 mod_php5
并重新启动服务器 -> apachectl restart
它将开箱即用
you need not run the php as a cgi-bin. just put the file under htdocs folder.
make sure you loaded mod_php5 in the httpd.conf using LoadModule
and restart the server -> apachectl restart
it will work out of the box
您需要首先输出 CGI 的标头:
请参阅CGI 文档了解更多信息。
编辑:
在httpd下,您需要将脚本放在
cgi-bin/
中并通过那里访问它,例如http://example.com/cgi- bin/phpinfo.php
。You need to output the headers for CGI first:
Refer to the CGI documentation for more info.
EDIT:
Under httpd, you need to put the script in
cgi-bin/
and access it via there, e.g.http://example.com/cgi-bin/phpinfo.php
.