这是控制器代码
public function publish($id){
if(Article::where('id',$id)->update(['status'=>'1'])){
return redirect('admin/article/index')->with('success','发布成功-'.$id);
}
return redirect()->back()->with('fail','操作失败');
}
public function offline($id){
if(Article::where('id',$id)->update(['status'=>'0'])){
return redirect('admin/article/index')->with('success','下线成功-'.$id);
}
return redirect()->back()->with('fail','操作失败');
}


我的操作是点击发布和下线,改变的只是状态字段,跳转处理后还是回到当前页面
用的是phpstudy 里的php7.0+apache laravel 5.2版本
想不明白本地测试得这么慢的

好像是加载js和css占得太多,该怎么优化?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
老问题天天问。 mysql连接用127.0.0.1而不是localhost。
慢的原因是localhost解析到ipv6了,然后tcp连接1秒,超时,转而链接ipv4,所以导致了不管干什么都在1秒以上了。
WordPress算是比较慢的PHP程序了,我Ubuntu上用PHP7跑WordPress首页,Firebug里看网络请求耗时也才0.028s:

本地环境,我认为耗时超过0.2秒的请求都算比较慢的了,超过1秒简直就是不可忍了,Laravel自身慢是一个原因,但这么慢我估计是不是开启了Xdebug扩展.
css/js/img之类是单独的请求,跟Laravel处理插入和返回HTML的请求是分开的,独立的.简单举例说,你图中耗时1.15秒的GET index请求,就是PHP Laravel的处理时间.
Windows 7 上 PHP 连接 MySQL 响应慢的原因
1.my.ini里配置bind-address=127.0.0.1时,Win7及其以上版本系统PHP用localhost连接MySQL耗时超过1秒,比用127.0.0.1连接慢了400倍.
2.my.ini里配置bind-address=::1或bind-address=localhost时,Win7及其以上版本系统PHP用localhost连接MySQL速度是正常的,但用127.0.0.1连接又不正常了.
3.去掉bind-address配置,则用localhost或127.0.0.1连接MySQL速度都是正常的.
4.因为hosts里localhost被解析到::1(IPv6)和127.0.0.1(IPv4),注释掉 ::1 localhost 用localhost访问速度就会变正常,但不推荐这样做.
恶心的Windows!
尽可能保证在0.1秒之下,最好。