(Linux + Nginx+ MySQL+ PHP+ Apache)post 出现500错误
phpcn_u1582
phpcn_u1582 2017-05-16 13:06:00
0
4
1492

服务器安装使用的是oneinstack一键安装包,lnmpa(Linux + Nginx+ MySQL+ PHP+ Apache)https://oneinstack.com/

程序运行的是discuz3.2, http://www.liuxuesheng8.com/

在发表新帖子,提交时,出现错误,提示:

This page isn’t working

bbs.liuxuesheng8.com is currently unable to handle this request.
HTTP ERROR 500

但是内容确实已经写到数据库里,只是卡在上面图片所示页面,重新打开网站页面,发表的新帖子已经提交,很是奇怪。
然后查看服务器日志,只是在access_log里面出现,post 500错误,而在apache里面和openresty的日志里面都没有相应的错误日志,这种情况下在哪里查找500原因呢???

 - - [29/Apr/2017:18:27:03 +0800] "POST /forum.php?mod=post&action=newthread&fid=70&extra=&topicsubmit=yes HTTP/1.0" 500 -

phpcn_u1582
phpcn_u1582

Antworte allen(4)
左手右手慢动作

显然你这个错误是跟nginx相关的。

nginx出现500,一般有以下几种情况:

  1. 硬盘空间满了(df -lh查看磁盘占用情况,nginx所在目录已占用100%)。nginx如果开启了access log,在不需要的情况下,最好关闭access log。access log会占用大量硬盘空间。

  2. nginx配置文件错误
    配置rewrite的时候,有些规则处理不当会出现500错误,检查下自己的rewrite规则。如果配置文件里有些变量设置不当,也会出现500错误,比如引用了一个没有值的变量。

  3. 并发问题,服务器扛不住
    文件打开句柄太小,在做服务器并发测试的时候,因为服务器压力大,我们经常看到一部分请求是500,那么原因就是nginx可以使用的文件句柄太小,每个请求都会占用一个句柄。

某草草

打开apache和php的错误输出。

Peter_Zhu

apache, nginx, php错误日志里面,没有与这个post500错误相关的,,,很奇怪

3楼说的有可能

因为配置了rewrite功能,有时候,打开帖子,rewrite不起效,还是动态网页,再次点击这个链接后,rewrite才起效。。。我猜想的原因是在post提交后,链接要rewrite,而此时服务器不能rewrite,从而卡在了相应的页面上,但数据是已经写到了数据库中的

我想大声告诉你

php 代码可能有报错,但又没有配置错误输出也会报500错误。可以试一下修改配置将php报错以log的方式输出。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!