-
创建新数据表
查看全部 -
介绍:
laravel队列服务为各种不同的后台队列提供了统一的API
允许推迟耗时任务(例如邮件发送)的执行,从而大幅提高web请求速度
主要步骤:
1、迁移队列需要的数据表
2、编写任务类
3、推送任务到队列
4、运行队列监听
5、处理失败任务
配置文件在config/queue.php
修改.env文件QUEUE_DRIVER=database 改为数据库驱动
1、生成迁移队列需要的数据表
php artisan queue:table (创建了迁移文件job,而且里面已经有了表的结构)
php artisan migrate (生成了jobs)
2、编写任务类(样例是要做个邮件发送任务)
php artisan make:job SendEmail (在app文件夹下生成了Jobs文件夹,里面有SendEmail.php文件)
这样一个任务类就写完了
3、推送任务到队列中
一调用这个queue()这个方法,数据库jobs表就多了一条记录,这个记录就是我们的任务,也就是所谓的队列
我们已经把任务推送到队列中了,但是还没有执行
4、运行队列监听器
php artisan queue:listen
(报错了,其实没问题,只是测试多了163邮箱给屏蔽了,于是改了SendEmail.php文件)
再次访问了控制器,就是重新推送一个任务大到队列中
日志文件中也多了一条记录。这样队列就已经成功了
5、处理失败任务
任务执行失败会保存到一个表,但是那个表还没有创建,这个表在php artisan list的queue下面可以看到
php artisan queue:failed-table
php artisan migrate
php artisan queue:failed 查看执行错误的队列
php artisan queue:retry 1 重新执行失败的队列,try后面跟的是id
php artisan queue:retry all 重新执行所有的错误队列
错误的队列再次执行在failed_jobs表里id会变(应该是自增)
查看执行错误的队列php artisan queue:failed (也可以在数据库查看)
php artisan queue:forget 4 删除那条记录
php artisan queue:flush 删除所有的错误记录
查看全部 -
Debug模式 HTTP异常 日志
Debug模式
配置:config.php
进行本地开发时,应该配置APP_DEUG环境变量为true,在上线环境,这个值应该永远为false
看debug模式是否开启,config.app.php 里面的debug方法,结果还是到.env文件下看app_debug=true;关闭改为false
HTTP异常:就是给resources/views/errors下面添加比如403.blade.php这样和错误对应的模板
日志:
在 .env文件添加APP_LOG=single
就运行了一下这三个函数,日志文件在storage/logs文件夹下。如果改为daily,那么日志每天生成一个,文件名包含当天日期
查看全部 -
就是将几个缓存常用函数运行看了一下,默认的是文件缓存,在storage/framework/cache下
添加缓存: put() add() 有返回值bool forever()
获取缓存:get() pull()获取了会删掉
删除缓存:forget()
查看全部 -
需要修改配置文件:config/mail.php和.env文件
查看全部 -
配置 config/filesystem.php (在控制器里面的系统函数不用死记硬背,有提示的)
$bool = Storage::disk('uploads')->put($file,$file_get_contents($realPath))
查看全部 -
php artisan make:seed UserTableSeeder
在app/database/seeds/StudentTableSeeder.php
的run()方法中添加DB::table("Student")->insert([......数据]);
①执行数据填充php artisan db:seed --class StudentTableSeeder
或者②在DatabaseSeeder.php的run方法里面添加 $this->call(StudentTableSeeder::class);
然后执行php artisan db:seed
查看全部 -
php artisan (list) 查看用法列表
php artisan make:{type} {name} 创建类文件
php artisan make:auth 创建登录注册
php artisan migrate 生成用户表
查看全部 -
composer的使用
查看全部 -
包管理器
Java Maven
NodeJS NPM
PHP Pear
查看全部 -
php artisan make:controller StudnetController
查看全部 -
执行 php artisan migrate 命令时出现:
QLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max
key length is 1000 bytes...错误
解决办法:在app/Providers/AppServiceProvider中的public function boot()方法添加
Schema::defaultStringLength(191);
即可
查看全部 -
Laravel执行seeder命令出现 Class StudentTableSeeder does not exist.
解决办法:在控制台中执行`composer dump-autoload`,然后再执行`php artisan db:seed`命令.
查看全部 -
Phpstudy运行Laravel5.8项目 报500错误 。最后查看日志是:No application encryption key has been specified。查看目录文件后发现少了.env和.env.example文件。于是拷贝了Laravel5.6的这两个文件,问题完美解决。
查看全部 -
form表单需要加上:enctype="multipart/form-data"属性
查看全部
举报