我无法弄清楚出了什么问题但是在下面这个简单的PHP中,我得到了解析错误。
我收到此错误
Parse error: syntax error, unexpected T_STRING in E:\Server\htdocs\myframework\library\api\rest-test\index.php on line 3
关于此代码
<?php
header('HTTP/1.1 404 Not Found');
header('Content-type: application/json');
$data = 'testing dgdg dfgdf gdf';// my code that returns the appropriate data;
echo json_encode($data);
?>
但是当我为header('HTTP/1.1 404 Not Found');
换出header('HTTP/1.1 200 OK');
时,错误就会消失。请帮我理解这个。使用XAMPP在Windows上进行测试
分辨
我的原始代码在header('HTTP/1.1 404 Not Found');
行的末尾有一个空格,删除了该空格,现在一切正常。
答案 0 :(得分:2)
首先,您应该考虑使用header($_SERVER["SERVER_PROTOCOL"] . " 404 Not Found");
而不是header('HTTP/1.1 404 Not Found');
,因为您的基础服务器可能正在使用不同的HTTP协议,这将使您不必在以后更新它。
其次,我怀疑问题源于您要添加到该部分的内容标题。请尝试删除header('Content-type: application/json');
,看看它是否可以解决您的问题。
答案 1 :(得分:1)
都能跟得上; that testcase is fine
错误来自您的原始代码,而不是您的测试用例,并且您无法在测试用例中重现该问题。所以我们无法识别它......
答案 2 :(得分:0)
如果您使用FCGI,可以将404行更改为header("Status: 404 Not Found");
。也许这有帮助。