Laravel 不支持高并发?
我在用 $.post 刷一个 url 的时候(用鼠标点按钮触发,大概一秒钟3、4次吧),按这个速度,大概每隔个十几二十次,就会报一个500错误:Whoops, looks like something went wrong.没有更具体的错误提示了。
按F5刷新界面也这样,刷狠了就报这个错,有时刷狠了登录状态都会丢失。
有哪个小伙伴碰到过,难道laravel连这点并发都处理不了?我以前自己写的PHP读写数据的程序也不会这样啊,最多是久一点阻塞一下,但都不会报500错啊!!
难道是 Laravel 的防刷机制?
高认可度评论:
从这个脉象看,你应该使用了 WIN 环境在运行代码
从这个脉象看,你应该使用了 WIN 环境在运行代码
@Summer 额,确实,这里面有啥门道?Laravel 挑环境?
@Summer 就是神!
这个频率还构不成高并发。一般这种情况就是你的环境问题,并且500错误应该会有日志或者什么提示。
一般都是 200,隔三差五的 500 并且 ajax 触发几率大的时候。一般都是环境问题。
尽量不要用
windows
作为运行环境,可以使用homestead
,推荐链接 @Randy 的文章 https://phphub.org/topics/2178 ,参考来配置。如果一定要使用
windows
默认环境,phpstudy
wamp
xamp
这些的集成环境多多少少都有一些不可预测的问题。@ynanzero 也有一篇超级详细的文章 https://phphub.org/topics/2519
关于 Windows 下使用的问题,社区出现次数太多了,基本上这种神鬼莫测的问题都是出现在 Windows 系统上。
下面是一个不完整列表:
使用 Homestead 算是选择一种生活方式,你是想费劲去 DEBUG 各种 Edge 问题呢,还是想开开心心写代码呢?
windows坑
@金晨曦 我在ubuntu上也遇到过类似的问题,后来开了debug,查出原因是将localhost 改为 127.0.0.1再没有遇到过类似事情,仅供参考!
感谢大家的踊跃回复!一直以来都太依赖WIN环境,是时候要改变思路了。
@hiword 既然这样你有没有看一下你fpm是用unix domain socket还是用tcp socket?
@lovelock unix domain socket
为什么没有人告诉楼主应该去看laravel.log
现在基本本地的开发环境都是跟服务器一样centos了,bug基本都报得差不多的!!