我正在运行Linux Mint 17.3的全新安装,并按照this guide设置Apache,PHP(5.5.9),MySQL和PHPMyAdmin。我做的唯一其他事情是启用mod_rewrite。
我遇到的问题是在执行应该返回警告或致命错误的PHP代码时,它会返回HTTP错误500.例如,以下代码正常工作(正如预期的那样):
<?php
// convert fahrenheit to celsius
$temp = 80;
$temp -= 32;
$temp *= 5/9;
echo $temp;
虽然我希望以下代码返回PHP警告/错误,但它会返回一个完全无用的HTTP错误500:
<?php
// convert fahrenheit to celsius
$temp = 80;
echo ($temp -= 32) *= 5/9;
发生了什么以及如何解决此问题?
答案 0 :(得分:1)
您是否能够检查您的apache错误日志,我们确定他们会准确地告诉您500错误是什么。
您还可以检查apache config / s中的错误报告,以确保将错误设置为正确报告
答案 1 :(得分:1)
当然,正如评论所说,您将/应该在日志中发现错误,表示您在*=
部分的代码中存在解析错误。
这就是为什么
代码的($temp -= 32)
部分没问题,因为值80-32
已设置回$temp
变量。
但是,*= 5/9
并未设置回变量,而是($temp -= 32)
的结果,这只是一个标量值,这就是您出错的原因。
只需使用=
符号即可echo
结果:
echo($ temp - = 32)* 5/9;