类似的问题在这里,但没有回答我的问题:PHP script not executed on HTML Form 'Submission'
我index.html
在 linux 机器的根 web 文件夹中托管了一个网页 ( )。这是一个简单的一键输入页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<form action="cgi-bin/foo.php" method="post">
<input type="Submit" value="TEST">
</form>
</body>
</html>
我还有一个简单的 PHP 文件 ( foo.php
),它会在运行时创建一个简单的文档。该文件保存在我的 web 根目录的 cgi-bin 文件夹中。
<?php
$my_file = 'foo.xml';
$handle = fopen($my_file, 'w') or die('Cannot open file: '.$my_file);
$data = '<foo>OK</foo>';
fwrite($handle, $data);
fclose($handle);
echo "foo.xml file created";
?>
现在,网页可以正常运行,我可以从命令提示符运行 PHP 并正常执行。.html 和 .php 文件都被赋予了 CHMOD 777 权限。
但是,尝试使用 web 输入按钮提交运行 .php 会出现此错误:
403 Forbidden 请求的 URL '/index.html' 解析为标记为可执行但不是 CGI 文件的文件;取回它是被禁止的。
我一直在谷歌搜索如何将 .php 文件包装到 .cgi 包装器中,但一切看起来都很混乱。当然,我在这里缺少一些简单的东西吗?
任何有关如何解决此错误的建议将不胜感激。谢谢,