Laravel 解决TokenMismatchException
使用 laravel5.4 提交表单使用的如果是POST方法会产生 TokenMismatch 错误
解决方法
在提交表单中添加一个隐藏域,name 为 _token,值为 {{ csrf_token() }}
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
使用 laravel5.4 提交表单使用的如果是POST方法会产生 TokenMismatch 错误
解决方法
在提交表单中添加一个隐藏域,name 为 _token,值为 {{ csrf_token() }}
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
看到这种提示首先去检查自己的配置信息是否填写正确
检查根目录下的 .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root
填写完毕.
检查 config 目录下的 database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'laravel'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'root'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
]
填写上数据库名,用户名,密码
关闭服务,再开启
不成功的话,你需要把配置的缓存清理掉,再开启服务
// shell
$ php artisan config:clear
$ php artisan serve
laravel 5.4 使用ORM模型中的 findOrFail 操作,不会报错,但会返回 NULL
laravel 5.4以前版本会报错,没有返回
学习的过程中,发现ORM的存进数据库的时间戳,再取出时,是本地时间相差了少了八个小时
在 getDateFormat()
函数中,设置 date_default_timezone_set('PRC');
与 ini_set('date.timezone', 'Asia/Shanghai');
均无效
查看手册知晓,在 config/app.php 里的 'timezone' 参数
'timezone' => 'PRC' // 或者 Asia/Shanghai ,时区设置成我大天朝就好了
composer是php的依赖管理工具,与前端的npm包管理差不多
今天就是来 在linux上如何安装composer(windows的一路下一步,没毛病)
检查一下php版本号,可以显示版本号才能继续下面的操作
php -v
首先准备好composer-setup.php
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
在 shell 界面输入(如要全局安装请加上 --install-dir=bin --filename=composer)全局安装可以忽略后面所有操作
php composer-setup.php
这步操作对普通用户使用都有效,当然root也可以
mv composer.phar /usr/local/bin/composer
这个时候就可以查看你的composer版本号了
composer -v
撸了台hostker的,装的centos7.3
,系统装完了一进去用netstat -antp
喵一下网络连接的
发现netstat
输出-bash: netstat: command not found
查了一下,发现是RHEL7准备废弃这几条命令了,废弃就废弃吧,我看看替换的新命令是咋样的
ip,ss
这又是要记参数的节奏呀!
好吧,还算简洁的,早晚都会用的,现在先熟悉用了。
ifconfig替换
ip addr
传输状态(-s 为详细显示)
ip link
netstat替换
ss
netstat -ant(-antp的输出个人看的不友好)
ss -ant
netstat -anu
ss -anu
traceroute/traceroute6替换
tracepath
route替换(-6 为IPv6)
ip route
ifconfig eth0 up/down替换
ip l set eth0 up/down
终端界面输入
php -m
查看指定扩展信息
php --ri curl
如果有新手学习 nodejs
,获取 url post
传回的参数时,会发生和我一样的问题,今天就来解决这个小麻烦
node.js
不像 php
这种老牌后端语言有特定的获取外部参数的做法,毕竟是个新生力量,希望后来的版本能够更加便捷高效
//正常的获取值
app.get('/', (req, res) => {
console.log(req.query);
res.send('完成');
});
app.post('/', (req, res) => {
console.log(req.body);
res.send('完成');
});
正常输出的话,你的预想是这样的...
// GET请求
{
name: '冯小贤',
age: '18'
}
// 完成
或
// POST请求
{
name: '冯小贤',
age: '18'
}
// 完成
// 两次的输出会是这样!!!
{ }
//undefined
这是因为我们这里缺少一个模块,express的中间件 body-parser
官方说明
Node.js body parsing middleware.
Parse incoming request bodies in a middleware before your handlers, available under the req.body property.
基本就是说,解析客户端请求的body中的内容,JSON编码处理和url编码处理
接下来我们就来安装 body-parser
// 安装 body-parser
npm install body-parser
// 导入 app.js
var bodyParser = require('body-parser');
app.use(bodyParser());
//这样就可以使用 req.body 来获取 post 传递来的值了
app.post('/', (req, res) => {
console.log(req.body);
res.send('完成');
});
// json就是用 app.use(bodyParser.json())
学习没有动力,那吃枣是?的,学习 nodejs 的过程中,我来给大家一点提神醒脑的?
这里我是用了 cnodejs社区 最简单的爬虫小教程做基础改鳝,完成的
//初始化项目
npm init
//启动 app.js
node app.js
//你就可以愉♂快的玩耍了(代码见文章末尾)
如不知道如何使用 nodejs
Linux玩家可以看 我的这篇文章;Windows玩家可以直接去官网下载 .msi ,下一步下一步安装 直达车
基本的爬取思路
这里我怕由于请求过于庞大,使用 express 构建静态页面提供 查询 和 下载,降低爬取的站点被爬死的可能性
下载地址:xjj.zip
服务器信息:
1.System
CentOS release 6.9 (Final)
Kernel \r on an \m
2.Configuration
Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
1G,1核 (阿里拉基云)
这里我使用的是我大淘宝源
// 进入存放目录,我这里放在 /home/nodejs 下,放哪里看你喜好辣
cd /home/nodejs
// 下载 nodejs 二进制包
wget https://npm.taobao.org/mirrors/node/v6.10.2/node-v6.10.2-linux-x86.tar.gz
// 解压包
tar -xzvf node-v6.10.2-linux-x86.tar.gz
// 得到一个文件夹 node-v6.10.2-linux-x86,进入这个目录下的 bin 目录
cd node-v6.10.2-linux-x86/bin
// 确认下载的 nodejs 的版本无误
./node -v
现在你只能在这个目录下操作 node 呀,所以我们要加到 用户环境里
// 查看一下当前所在的目录
pwd
// 添加软连接到 /usr/local/bin
ln -s /home/nodejs/node-v6.10.2-linux-x86/bin/node /usr/local/bin/node
ln -s /home/nodejs/node-v6.10.2-linux-x86/bin/npm /usr/local/bin/npm