这里有类似的问题,但没有回答我的问题:PHP script not executing upon HTML Form 'Submission'
我在linux框的根网站文件夹中托管了一个网页(index.html
)。这是一个简单的页面,只有一个按钮输入:
<!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
),可以在运行时创建一个简单的文档。该文件保存在我的根网站目录的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请求的网址'/index.html'解析为一个文件 标记为可执行文件,但不是CGI文件;检索它是 禁止的。
我一直在谷歌搜索如何将.php文件包装成.cgi包装器,但一切看起来都很混乱。当然,我在这里找不到容易的东西?
非常感谢有关如何解决此错误的任何建议。谢谢,
答案 0 :(得分:1)
将您的foo.php页面移动到与index.html表单相同的目录中。
将表单的目标更改为foo.php。
如果您的网络服务器设置正确以解析PHP,它应该“正常工作”。
现在很难看到php像cgi脚本一样运行。