终端执行命令npm cache clean --force
wenyi 发布的文章
终端执行命令npm cache clean --force
电脑开始都能访问的,过段时间本地IP地址可以访问,但局域网不能访问了,访问超时,但电脑可以远程控制
开始以为是重装了一下PHPstudy的原因,找了相应的解决方法,就是不光在conf下的vhosts.conf和httpd.conf配置,还要去conf-->extra下的httpd-vhosts.conf配置访问目录
##DocumentRoot "/Apache24/htdocs" #ServerName www.example.com:80 # DocumentRoot "C:\phpStudy\PHPTutorial\WWW" Options -Indexes -FollowSymLinks +ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted
但后面觉得不对呀,说是访问超时,又不是找不到文件
后面猜猜是不是我的Apache服务器压根就没有对外开放
我记得前面在哪里开启过
就在控制面板-->系统和安全--》Windos Defender 防火墙-->启动应用或功能通过Windows Defender 防火墙开启http server
这样就OK了,哈哈前面是可以访问的,但某天用电脑管家杀死好多开机启动项,在这里无意之间关掉了,就是这样,嘿嘿,希望能帮助到你
larave 你可能遇到过这样的问题,线下运行时没有错误的,拿到网上去就不可以了
就报个服务器500错误,其他什么也没有报,对,你就是从本地拿上去的
你可能开始各种怀疑,是不是APP_KEY没有更新呀,是不是vender没有上传完整呀,是不是少传了什么呀!
告诉你,这些应该都不是
遇到这样的问题,你可以去看一下storage 下的 logs文件,是不是不能正常的写入,就是是不是权限不够
还要一个framework文件也一样,但只要把logs文件权限放开就有错误提示了,神不神奇,对你惊不惊喜,意不意外,反正我是纠结了好一会才找到
数据库突然提示 Table is read only ,奇怪的是root用户也有这样的情况,这不科学呀!
那是咋个回事呢?
百度一下,解决办法为刷新
找到mysql安装目录lib下 mysqladmin -u root -p flush-tables
结果还是不可以
最后在大神的指导到,记清楚前面有备份过mysql下的data源文件
这样,去更新权限为可写,再来刷新就解决了
laravel 有一套严谨的用户权限管理,在这就不讨论了,比较难缕
对于一些简单的,这一套好像有点太过了点,比如我就明确的分个端,同一个端访问的内容是一样的,其实我只需要把路由分一下就OK了,不需要太多处理。
那怎样办呢?
先去看一下中间件
https://learnku.com/docs/lumen/5.7/middleware/2405
看完就知道中间件的作用了,其实就是把路由分三组,每组中间不同,不同的用户判断规则,就OK了
P如我的加入了Auth认证,是这样控制的
public function handle($request, Closure $next, $guard = null)
{
$user = $this->auth->guard()->user();
if (@$user[' *_token'] != ' *** ') {
$control = new Controller();
return $control->error('授权未通过!请重新登录',401);
}
return $next($request);
}
其他的定义中间件和路由怎样去实现呢?
P如:定义了两个中间件(bootstrap/app.hph)
'hcwAuth' => App\Http\Middleware\HcwAuthenticate::class, 'hcbAuth' => App\Http\Middleware\HcbAuthenticate::class,
路由分配:路由分组
$router->group(['middleware' => 'hcwAuth'],function () use ($router){
$router->get('welcome', 'HomeController@index');
});
$router->group(['middleware' => 'hcbAuth'],function () use ($router){
$router->get('welcome', 'HomeBoosController@index');
});