为什么我的php脚本不能工作

为什么我的php脚本不能工作,php,apache,twisted,Php,Apache,Twisted,我最初只想做以下几点: <?php phpinfo(); ?> 我有两个不同的web服务器在运行。如果我尝试在firefox中打开上述文件,在任何文件名下,使用apache的:80端口,它只会重复上述内容 如果我试图从端口8888上的python twisted web服务器打开上述文件名,我会得到一个http 500错误CGI脚本错误 脚本头过早结束 我正在运行GentooLinux。我以不同的方式安装和重新安装cgi。不使用CGI的任何其他文件都会按预期在两台web服务器上提供

我最初只想做以下几点:

<?php
phpinfo();
?>
我有两个不同的web服务器在运行。如果我尝试在firefox中打开上述文件,在任何文件名下,使用apache的:80端口,它只会重复上述内容

如果我试图从端口8888上的python twisted web服务器打开上述文件名,我会得到一个http 500错误CGI脚本错误

脚本头过早结束


我正在运行GentooLinux。我以不同的方式安装和重新安装cgi。不使用CGI的任何其他文件都会按预期在两台web服务器上提供。

您需要先输出CGI的标题:

<?php
echo "Content-type: text/html\n";
echo "\n";

phpinfo();
?>
有关更多信息,请参阅

编辑:


在httpd下,您需要将脚本放在cgi-bin/中,并通过那里访问它,例如。http://example.com/cgi-bin/phpinfo.php.您不需要将php作为cgi bin运行。只需将文件放在htdocs文件夹下

确保使用LoadModule在httpd.conf中加载了mod_php5

然后重新启动服务器->apachectl restart

它将开箱即用,获胜者是:

<IfDefine PHP5>
    # Load the module first
    <IfModule !mod_php5.c>
            LoadModule php5_module    modules/libphp5.so
            AddHandler php5-script php
            AddHandler php5-script html
            AddType text/html       php
    </IfModule>

    # Set it to handle the files
    <FilesMatch "\.ph(p5?|tml)$">
            SetHandler application/x-httpd-php
    </FilesMatch>

    <FilesMatch "\.phps$">
            SetHandler application/x-httpd-php-source
    </FilesMatch>

    DirectoryIndex index.php index.phtml

我还不知道我在做什么。我只知道我达到了预期的效果:根htdocs目录中的任何*.php或*.html文件都将正确呈现php脚本。我在网上发帖时发现了很多关于这意味着什么的困惑。我的php脚本是从开始的。没有必要编写。您的httpd.conf文件中是否有php所需的设置?这可能是一个serverfault.com问题,因为问题是Web服务器没有正确地提供php文件。只需回显两个回显的额外内容,以及python完全相同的响应。这样就消除了500错误,没错。但是我想我必须去Gentoo.org做更多的研究。我只能在cgi库中运行脚本。如何从脚本调用phpinfo?但这不是CGI。这是mod_php.True。CGI错误来自python twisted web服务器。对不起,把你们弄糊涂了。我只是希望能够在*.php或*.html文件中呈现php脚本。它不适用于apache,所以我尝试使用python twisted web服务器打开它。谢谢你的帮助,伊格纳西奥。