[php]奇怪的问题,一个可以正常访问的页面,却返回 500

2015-03-28 23:40:39 +08:00
 kn007

地址:
http://kn007.net/ip.php
打开错误显示:
error_reporting("E_ALL");
ini_set("display_errors", 1);
返回200,没有任何错误回显,不过有notice:
PHP Notice: Undefined index: ip in ~WWW/kn007.net/ip.php on line 9
Line 9: $ip=$_POST['ip'];

我仔细检查了一遍,完全没问题,权限正常,编码正常。
php、nginx的log正常。

7995 次点击
所在节点    PHP
15 条回复
kn007
2015-03-28 23:43:02 +08:00
直接命令行,返回
root@kn007:~WWW/kn007.net
> php ip.php |grep PHP
PHP Notice: Undefined index: ip in ip.php on line 9
PHP Notice: Undefined variable: ip in ip.php on line 94
PHP Notice: Undefined index: ip in ip.php on line 214
PHP Notice: Undefined variable: ipdata in ip.php on line 245
PHP Notice: Trying to get property of non-object in ip.php on line 245
PHP Notice: Undefined variable: ipdata in ip.php on line 245
PHP Notice: Trying to get property of non-object in ip.php on line 245
PHP Notice: Undefined variable: ipdata in ip.php on line 245
PHP Notice: Trying to get property of non-object in ip.php on line 245
PHP Notice: Undefined variable: ipdata in ip.php on line 245
PHP Notice: Trying to get property of non-object in ip.php on line 245
PHP Notice: Undefined variable: ipdata in ip.php on line 245
PHP Notice: Trying to get property of non-object in ip.php on line 245
PHP Notice: Undefined variable: otheripdata in ip.php on line 245
abelyao
2015-03-28 23:44:49 +08:00
话说我打开没问题…
fu82581983
2015-03-28 23:44:58 +08:00
应该是PHP Notice: Trying to get property of non-object in ip.php on line 245引起的,确保对象实例化正确。
gongpeione
2015-03-28 23:46:28 +08:00
if(!empty($_POST['ip']))
$ip=$_POST['ip'];

这样?
em70
2015-03-28 23:47:17 +08:00
你的php配置文件关闭了显示错误提示,但又出现异常就会500错误,可以把错误提示打开,调通了再改回去
kn007
2015-03-28 23:51:51 +08:00
@abelyao 打开是没问题的,但是实际HTTP CODE是500
kn007
2015-03-28 23:52:49 +08:00
@fu82581983 命令行就会,直接线上是没问题的。应该不是这个问题。另外500是Fatal Error才会引起的
kn007
2015-03-28 23:53:24 +08:00
@gongpeione 我改过了,没用。。。php不需要如此严谨的模式
kn007
2015-03-28 23:54:44 +08:00
@em70 额,我正文不是打开了么,只有notice
ETiV
2015-03-28 23:58:30 +08:00
curl -I 'http://kn007.net/ip.php'
HTTP/1.1 200 OK

这是调好了?
kn007
2015-03-29 00:02:05 +08:00
@ETiV 算是,还在改。。排除法。。
gongpeione
2015-03-29 00:03:20 +08:00
引用了未定义的变量然后又关了错误显示是返回500的 _(:з」∠)_
kn007
2015-03-29 00:07:10 +08:00
@gongpeione 找到原因了。。。晕死。
Memcached没有close传递。
PHP Fatal error: Call to undefined method Memcached::close() in ~WWW/kn007.net/ip.php on line 299
kn007
2015-03-29 00:10:40 +08:00
已解决,谢谢各位 @ETiV @abelyao @em70 @fu82581983 @gongpeione
错误原因:
PHP Fatal error: Call to undefined method Memcached::close() in ~WWW/kn007.net/ip.php on line 299

Memcached没有close传递。利用
ini_set('error_log', dirname(__FILE__) . '/error_log.txt');
得到的。。。太囧了。网页居然都没错误,命令行也没错误。必须输出到txt才会显示这个Fatal error
ETiV
2015-03-29 01:49:13 +08:00
哦对. 我记起来了...

display_error 设定不会输出到 html, 还一个 把error 输出到 html 的设定需要打开才能看得见.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/180026

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX