-
創建新數據表
查看全部 -
介紹:
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"屬性
查看全部
舉報