Laravel 任务调度

过去想给一个脚本创建计划任务,得登陆服务器执行crontab -e,或编辑/etc/crontab,每加一个脚本都得重复此步骤。 现在有了任务调度,你只需在服务器上配置一条 * * * * * cd /你的项目路径 && php artisan schedule:run >> /dev/null 2>&1 后面你再加多少脚本都无需到服务器处理 定义调度 你可以在 App\Console\Kernel 类的 schedule 方法中定义所有的调度任务。 class Kernel extends ConsoleKernel { protected function schedule(Sc...

Laravel 队列

创建任务 生成任务类 root@php-fpm:/var/www/laravel-demo# php artisan make:job PublishArticles Job created successfully. 编辑一下 class PublishArticles implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; public Article $article; public function __construct(Art...

Laravel 编写控制台命令

Artisan 是 Laravel 附带的命令行接口。 #查看所有可用的 Artisan 命令 php artisan list #查看命令帮助 php artisan help migrate Tinker 命令 (REPL) Laravel Tinker 是为 Laravel 提供的强大的 REPL(交互式解释器),由 PsySH 提供支持。 所有 Laravel 应用都默认包含了 Tinker。如果你之前已经将 Tinker 从应用中删除,可以使用 Composer 进行手动安装: composer require laravel/tinker 通过运行 Artisan 命令 ti...

docker-compose快速部署JumpServer

JumpServer 是运维必备的开源跳板机(堡垒机)系统 包含组件 |组件项目|描述| |-|-|-| |Lina|JumpServer Web UI 项目| |Luna|JumpServer Web Terminal 项目| |KoKo|Koko 是 Go 版本的 coco,重构了 coco 的 SSH/SFTP 服务和 Web Terminal 服务。| |Lion|Lion 使用了 Apache 软件基金会的开源项目 Guacamole,JumpServer 使用 Golang 和 Vue 重构了 Guacamole 实现 RDP/VNC 协议跳板机功能。| |Magnus|JumpS...

使用STS临时访问凭证访问OSS

现在越来越多的项目使用oss存储文件,为了减轻服务器带宽的压力,通常会选择让前端直接把文件传到oss,但是为了不暴露密钥,通常会通过STS服务给前端颁发一个临时访问凭证。前端可使用临时访问凭证在规定时间内访问您的OSS资源。 下面看下如何快速配置sts服务: 最后记得复制 RoleArn,类似:acs:ram::13530326330670:role/aliyunosstokengeneratorrole 参考 https://help.aliyun.com/document_detail/100624.html

聊天机器人模型 - ChatGPT

申请账号 网上有教程,其中一个问题是不支持国内手机号,这就需要借助短信接码平台 还有一个问题,正常情况:注册成功openai会赠送18美金,可以用于api调用。但如果你用的这个手机号被其他人用过了,这18美金就没有了。我第一次就遇到这个问题,只能换个E-mail重新注册 PHP类库 openai-php/client 要求 PHP 8.1+ composer require openai-php/client 简单使用 $client = OpenAI::client('YOUR_API_KEY'); $result = $client->completions()->create([ ...

PHPUnit 的使用

安装 PHP Archive (PHAR) wget -O phpunit https://phar.phpunit.de/phpunit-9.phar chmod +x phpunit root@php-fpm:/var/www/html# ./phpunit --version PHPUnit 9.5.27 by Sebastian Bergmann and contributors. 或者,Composer composer require --dev phpunit/phpunit ^9 root@php-fpm:/var/www/laravel-demo# ./vendor/bin...

PHP PHPStan 的使用

安装 composer require --dev phpstan/phpstan 修改composer.json "scripts": { ... "stan": [ " php -d memory_limit=-1 vendor/bin/phpstan analyse app routes database config tests" ] }, 在项目根目录添加phpstan.neon配置文件 root@php-fpm:/var/www/laravel-demo# vi phpstan.neon ...

Laravel 数据库交互 - 查询构造器

获取结果 从表中检索所有行 $articles = DB::table('article')->get(); foreach ($articles as $article) { echo $article->title.PHP_EOL; } 从表中检索单行或单列 #通过id字段获取一行 $article = DB::table('article')->find(3); #获取一行 $article = DB::table('article')->where(...

Laravel 数据库交互 - 原生 SQL

return DB::connection('mysql')->select('SELECT * FROM `article` WHERE `category_id` = ?', [1]); return DB::select('SELECT * FROM `article` WHERE `category_id` = ?', [1]); #使用命名绑定 #除了使用 ? 表示参数绑定外,你还可以使用命名绑定的形式来执行一个查询: return DB::select('select * from `article` ...