常用于linux复制粘贴错误的时候文件无法编辑问题 q!强制退出以后 删除 rm -rf .vhsot.conf.swp文件即可,注意文件前面的点不能丢
laravel模拟器
composer 安装
php:7.3
composer create-project laravel/laravel example-app
我是安装了composer 的中国镜像,其实就是composer 的中国镜像出了问题,后来我直接把他改了,换成另外一个地址就行了
composer config -g repo.packagist composer https://packagist.org
composer create-project laravel/laravel example-app
cd example-app
php artisan serve
安装完 报错
问题处理原地址:
https://stackoverflow.com/questions/17954625/services-json-failed-to-open-stream-permission-denied-in-laravel-4
The stream or file “/var/www/laravel-app/laravel/example-app/storage/logs/laravel.log” could not be opened in append mode: failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/laravel-app/la。。。。。
处理方法:
find storage -type d -exec chmod 777 {} ;
find storage -type f -exec chmod 777 {} ;
生产环境下
命令
php artisan -v
artisan 命令学习
命令 创建
php artisan make:command HelloMessage --command=Hello:info
执行我们刚才创建的命令 php artisan Hello:info
命令存放位置
Artisan工具简介
Artisan 是 Laravel 中自带的命令行工具的名称。它提供了一些对您的应用开发有帮助的命令。它是由强大的 Symfony Console 组件驱动的。为了查看所有可用的 Artisan 的命令,您可以使用 list 命令来列出它们:
在脚本中执行php artisan list可以查看所有的命令
那么熟悉linux的知道,不管什么命令都有一个help命令
php artisan help migrate
利用artisan工具创建控制器
了解tp框架的同学,能知道,如果去创建一个控制器,需要自己去手写,命名空间,继承类等
那么在laravel中,还可以利用artisan工具去执行,如创建一个MsgController
php artisan make:controller MsgController
执行之后,’app\http\Controllers’会多出一个MsgController,并且也准备好了方法增,删,改,查,等如果不需要那怎么办呢?很简单,一是直接删除,二利用命令生成空白的控制器如:
php artisan make:controller --plain
但是,有的同学会遇到这种情况,如,一个项目分前台和后台,相应的控制器也需要放置在不同的目录下,这种怎么处理呢,如果用artisan工具?比如创建一个Admin\GoodsController
php artisan make:controller Admin\GoodsController
前提是在laravel项目中的App\Http\Controllers下已创建Admin文件夹,执行之后会发现,admin下多出GoodsController的文件,打开,发现命名空间也自动整理好;
这条命令指示,验证了laravel框架的灵活性,开发者可以随意的去指定;
利用artisan工具创建model
作为程序员,开发项目的同时,我们需要去操作数据库,那么肯定就与model有关系,那么如何使用artisan工具去创建一个model呢?和控制器,大同小异,比如创建一个Msg的model
php artisan make:model Msg
在laravel中,它默认是放在App目录下,那如果想要定义自己的文件夹呢和控制器也是一样的我们指定它的目录即可,不过要注意的是把命名空间需要改变一下
利用artisan工具查看路由
在laravel框架中,如果想要在浏览器中去响应控制器中的方法,那么只需要,在App\routes.php中去指定路由即可,但是如果我们使用资源路由,只需指定一条路由即可,并且,它也直接生成好多方法,但我们是看不到的,那么怎么办呢?
php artisan route:list
利用这条命令可以查看所有的路由
利用artisan工具创建中间件
首先在laravel中,中间件也是一个非常方便的东西,那么中间件是什么呢?
简单的理解就是,中间件可以放到我们的控制器的方法前或后去执行,来影响执行的结果.
用过,laravel框架做过项目的都知道,每当post提交的时候,都会报一个Token的错误,解决办法是加个
{!!csrf_field()!!}即可,但是根本原因在哪里呢?
在app\http\middleware\VerifyCsrfToken.php的问题,把这个中间件发在全局上,每当去post的提交的时候就会验证;
如何去生成一个中间件呢?
php artisan make:middleware EmailMiddleware
执行会在,middleware 文件夹下找到
全局篇
查看artisan命令
php artisan
php artisan list
查看某个帮助命令
php artisan help make:model
查看laravel版本
php artisan --version
使用 PHP 内置的开发服务器启动应用
php artisan serve
生成一个随机的 key,并自动更新到 app/config/app.php 的 key 键值对(刚安装好需要做这一步)
php artisan key:generate
开启Auth用户功能(开启后需要执行迁移才生效)
php artisan make:auth
开启维护模式和关闭维护模式(显示503)
php artisan down
php artisan up
进入tinker工具
php artisan tinker
列出所有的路由
php artisan route:list
生成路由缓存以及移除缓存路由文件
php artisan route:cache
php artisan route:clear
创建中间件(app/Http/Middleware 下)
php artisan make:middlewareActivity
创建队列(数据库)的表迁移(需要执行迁移才生效)
php artisan queue:table
创建队列类(app/jobs下):
php artisan make:jobSendEmail
创建请求类(app/Http/Requests下)
php artisan make:request CreateArticleRequest
php artisan –help:显示帮助命令的使用格式,同 php artisan help
php artisan –version:显示当前使用的 Laravel 版本
php artisan changes:列出当前版本相对于上一版本的主要变化
php artisan down:将站点设为维护状态
php artisan up:将站点设回可访问状态
php artisan optimize:优化应用程序性能,生成自动加载文件,且产生聚合编译文件 bootstrap/compiled.php
php artisan dump-autoload:重新生成框架的自动加载文件,相当于 optimize 的再操作
php artisan clear-compiled:清除编译生成的文件,相当于 optimize 的反操作
php artisan migrate:执行数据迁移
php artisan routes:列出当前应用全部的路由规则
php artisan serve:使用 PHP 内置的开发服务器启动应用 【要求 PHP 版本在 5.4 或以上】
php artisan tinker:进入与当前应用环境绑定的 REPL 环境,相当于 Rails 框架的 rails console 命令
php artisan workbench 组织名/包名:这将在应用根目录产生一个名为 workbench 的文件夹,然后按 组织名/包名 的形式生成一个符合 Composer 标准的包结构,并自动安装必要的依赖【需要首先完善好 app/config/workbench.php 文件的内容】
php artisan cache:clear:清除应用程序缓存
php artisan command:make 命令名:在 app/commands 目录下生成一个名为 命令名.php 的自定义命令文件
php artisan controller:make 控制器名:在 app/controllers 目录下生成一个名为 控制器名.php 的控制器文件
php artisan db:seed:对数据库填充种子数据,以用于测试
php artisan key:generate:生成一个随机的 key,并自动更新到 app/config/app.ph 的 key 键值对
php artisan migrate:install:初始化迁移数据表
php artisan migrate:make 迁移名:这将在 app/database/migrations 目录下生成一个名为 时间+迁移名.php 的数据迁移文件,并自动执行一次 php artisan dump-autoload 命令
php artisan migrate:refresh:重置并重新执行所有的数据迁移
php artisan migrate:reset:回滚所有的数据迁移
php artisan migrate:rollback:回滚最近一次数据迁移
php artisan session:table:生成一个用于 session 的数据迁移文件
可用的命令:
clear-compiled 移除编译类文件
down 将应用程序置于维护模式
env 显示当前框架的环境 比如 local
help 显示一个命令的帮助信息 比如 php artisan help make:controller
inspire 显示一个灌输的引用(inspiring quote)
list 列出所有命令
migrate 运行数据库迁移
optimize 优化框架以获得更好的性能
serve 在PHP开发服务器上提供应用程序
tinker 与您的应用程序交互
up 使应用程序退出维护模式
app
app:name 设置应用命名空间
auth
auth:clear-resets 刷新过期密码重置令牌
cache
cache:clear 刷新应用程序缓存
cache:table 为缓存数据库表创建迁移
config
config:cache 创建缓存文件以加快配置加载
config:clear 删除配置缓存文件
db
db:seed Seed the database with records
event
event:generate 基于注册生成缺少的事件和侦听器
key
key:generate 设置应用key
make
make:auth 搭建基本的登录和注册的视图和路由
make:command 创建一个新的 Artisan 命令
make:controller 创建一个新的 controller 类
make:event 创建一个新的 event 类
make:job 创建一个新的 job 类
make:listener 创建一个新的 event listener 类
make:mail 创建一个新的 email 类
make:middleware 创建一个新的 middleware 类
make:migration 创建一个新的 migration 文件
make:model 创建一个新的 Eloquent model 类
make:notification 创建一个新的 notification 类
make:policy 创建一个新的 policy 类
make:provider 创建一个新的 service provider 类
make:request 创建一个新的 form request 类
make:seeder 创建一个新的 seeder 类
make:test 创建一个新的 test 类
migrate
migrate:install 创建迁移存储库
migrate:refresh 重置并重新运行所有迁移
migrate:reset 回滚所有数据库迁移
migrate:rollback 回滚上次数据库迁移
migrate:status 显示每个迁移的状态
notifications
notifications:table 为通知表创建迁移
queue
queue:failed 列出所有失败的队列作业s
queue:failed-table 为失败的队列作业数据库表创建迁移
queue:flush 清除所有失败的队列作业
queue:forget 删除失败的队列作业
queue:listen 监听一个给定的队列
queue:restart 在其当前作业之后重新启动队列worker守护程序
queue:retry 重试一个失败的队列任务
queue:table 为队列作业数据库表创建迁移
queue:work 开始作为守护程序在队列上处理作业
route
route:cache 创建路由缓存文件用于更快的路由注册
route:clear 删除路由缓存文件
route:list 列出所有注册的路由
schedule
schedule:run 运行已调度的命令
session
session:table 为会话数据库表创建迁移
storage
storage:link 创建符号链接 从 “public/storage” 到 “storage/app/public”
vendor
vendor:publish 从供应商包发布任何可发布的资产
view
view:clear 清除所有编译的视图文件
// 参数
// protected $signature = ‘test:send {name}’; // 必填参数
// protected $signature = ‘test:send {arg?}’; //必填参数
// protected $signature = ‘test:send {name=test}’; // 默认参数
// protected $signature = ‘test:send {name*}’; // 数组参数
// 选项
// protected $signature = 'test:send {--id}'; // 不接受值的选项
// protected $signature = 'test:send {--id=}'; // 需要接收值的选项
// protected $signature = 'test:send {--id=0}'; // 选项默认值
// protected $signature = 'test:send {--id=*}'; // 选项数组
protected $signature = 'test:send {name=test} {--id=}';
MySQL报错Lost connection to MySQL server at ‘reading initial communication packet’的解决办法
修改权限
update user set host=‘%’ where user=‘root’;
如果遇到腾讯傻逼服务器查看3306 然后管理防火墙 添加规则 新增3306端口
netstat -apnt | grep 3306
select * from user \G;