Laravel的安装配置
运行环境要求
Laravel 框架会有一些系统上的要求。当然,这些要求在 Laravel Homestead 虚拟机上都已经完全配置好了:
· PHP >= 5.5.9
· OpenSSL PHP Extension
· PDO PHP Extension
· Mbstring PHP Extension
· Tokenizer PHP Extension
Laravel框架默认时区是UTC。UTC可以简单地理解为伦敦时间。
'timezone' => 'PRC', //将UTC改成PRC。北京时间。
'locale' => 'zh', //当前语言、'fallback_locale' => 'en', //备用语言
Laravel 的开发中,使用 Homestead 是必须的,不论你是一个人开发项目,还是团队开发,不管你是新手,还是老手,请使用 Homestead。可参考 Homestead 的环境部署脚本 来实现开发环境和生产环境的统一。
安装 Laravel
1、Laravel 使用 Composer 来管理代码依赖。所以,在使用 Laravel 之前,请先确认你的电脑上安装了 Composer。
通过 Laravel 安装工具
首先,使用 Composer 下载 Laravel 安装包:
composer global require "laravel/installer"
请确定你已将 ~/.composer/vendor/bin 路径加到 PATH,只有这样系统才能找到 laravel 的执行文件。
一旦安装完成,就可以使用 laravel new 命令在指定目录创建一个新的 Laravel 项目,例如:laravel new blog 将会在当前目录下创建一个叫 blog 的目录,此目录里面存放着新安装的 Laravel 和代码依赖。这个方法的安装速度比通过 Composer 安装要快上许多:
composer config -l -g home目录路径
请确定你已将 ~/.composer/vendor/bin (虚拟路径在本地上是什么路径就写什么路径)路径加到 PATH,只有这样系统才能找到 laravel 的执行文件。
一旦安装完成,就可以使用 laravel new 命令在指定目录创建一个新的 Laravel 项目,例如:laravel new blog 将会在当前目录下创建一个叫 blog 的目录,此目录里面存放着新安装的 Laravel 和代码依赖。这个方法的安装速度比通过 Composer 安装要快上许多:
laravel new blog创建项目
Laravel Homestead环境的搭建
## 1、安装Homestead安装Composer,GIt Bash ,VirtualBox,Vagrant
1、
2、在你启动 Homestead 环境之前,须先安装 VirtualBox 5.x 或 VMWare 以及 Vagrant。这些软件在各个常用的平台都有提供简单易用的界面安装包。
3、vagrant box add laravel/homestead
三款虚拟机VirtualBox、Hyper-V
安装Vagrant的时候需要重启,所以可以留在最后装
列出本地所有的box:
vagrant box list
vagrant -v查看是否安装好
服务提供者是所有 Laravel 应用程序启动的中心,你自己写的组件,以及Laravel所有的核心服务,都是通过服务提供者启动的。
但是,我们这里说的"bootstrapped(启动,引导)" 是什么意思呢? 通常是指注册事物,包含注册服务容器绑定,事件监听器,中间件,甚至是路由,服务提供者是设置你的应用程序的中心所在。
Laravel自动加载
composer dump-autoload
Laravel使用composer安装出现的问题
改变当前目录C:/用户/管理员/数据/漫游/作曲家
使用1.4版本^ laravel /安装
/ composer.json已更新。
使用包信息加载作曲家存储库
更新依赖项(包括需求开发)
无需安装或更新
加载文件的生成
解决方法:
然后没反应了,因为去国外的镜像地址下载了。
应该先将composer换成国内镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
还需要下载一个cem证书https://curl.haxx.se/docs/caextract.html 下载之后;在php.ini中首先开启php_openssl.php 还需要添加证书信息openssl.cafile=D:/php-7.0.6/cacert.pem
composer下载时报错:
The "https://packagist.org/packages.json" file could not be downloaded: SSL
operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify
failed
解决办法:
这是因为连接packagist.org需要ssl证书,给php配置默认ssl证书可以解决
下载证书 http://curl.haxx.se/ca/cacert.pem
修改php.ini
curl.cainfo=/etc/ssl/certs/cacert.pem
openssl.cafile=/etc/ssl/certs/cacert.pem
openssl.capath=/etc/ssl/certs
必须已启用openssl, curl扩展
修改php的环境变量,最新版的php就会自动更新
[Composer\Exception\NoSslException]
The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl ex
tension, you can disable this error, at your own risk, by setting the 'disable-tls' option to true.
解决办法:开启php的openssl扩展,下载ca证书
1、找 extension=php_openssl.dll ,删除extension=php_openssl.dll前面的分号,
2、下载证书https://curl.haxx.se/docs/caextract.html
openssl.cafile= "D:\wamp\wamp\bin\php\php5.4.12\verify\cacert.pem"具体实际路径
Laravel里使用验证码
在Laravel中有很多图片验证码的库可以使用,本篇介绍其中之一:gregwar/captcha,这个库比较简单,在Laravel中比较常用。下面我们就来介绍下使用细节:
首先, composer.json中如下加入配置:
"require": {
...
"gregwar/captcha": "1.*",//或者
"gregwar/captcha": "^1.1",
},
1、先进入cd AppData\Roaming\Composer里
运行命令符 :Composer require gregwar/captcha
然后再laravel项目根目录
运行composer require gregwar/captcha
完成
2、Laravel Phpsms的使用
先进入cd AppData\Roaming\Composer里
运行命令符 :composer require toplan/laravel-sms:~2.6
接下来,在项目根目录执行命令:
composer require toplan/laravel-sms:~2.6
1、多用户认证管理安装
php artisan make:auth
(命令后,我们就能拥有一个完整的登录、注册认证系统,这为开发带来极大的便利。)
1. 框架内部已存在认证所需的控制器。在 App\Http\Controllers\Auth 命名空间下,包括 LoginController、RegisterController、ForgotPasswordController 和 ResetPasswordController 四个控制器。
2. 框架内部已存在认证所需的迁移表文件。在 database/migrations 文件夹下,包括 2014_10_12_000000_create_users_table.php 和 2014_10_12_100000_create_password_resets_table.php 两个。
当执行 php artisan make:auth 命令时,Laravel 做了什么 官方文档有说,具体是生成、修改了下面的文件
2、使用 Entrust 扩展包在 Laravel 5 中实现 RBAC 权限管理composer require zizaco/entrust 5.2.x-dev
问题项:This cache store does not support tagging.", exception: "BadMethodCallException"
解决方案:
把.env 里的 CACHE_DRIVER 改成
CACHE_DRIVER=array
=============================================================
laravel工作流程
我们先回顾一下通用的工作流程以便你能在自己的项目上采用
1 . 安装laravel
laravel new my-app
2 . 安装Node依赖
npm install
3 . 配置webpack.mix.js
这个文件所有前端资源编译的入口
let mix = require('laravel-mix');
mix.js('resources/assets/js/app.js', 'public/js');
mix.sass('resources/assets/sass/app.scss', 'public/css');
默认会启用ES2015模块绑定,就行sass编译一样。
你可以在命令行运行 npm run watch 来监视你的前段资源改变,然后重新编译。
4 . 编译
用如下指令编译
node_modules/.bin/webpack
也可以使用package.json 里的npm脚本:
npm run dev
然后会看到编译好的文件:
· ./public/js/app.js
· ./public/css/app.css
监视前端资源更改:
npm run watch
=====================================================================
问题项:
解决方案:
npm install vue-router --save-dev
npm install iview --save-dev
npm install vuex --save-dev
npm install sortablejs --save-dev
npm install photoswipe --save-dev
问题项:没有找到eslint-plugin-vue
解决方案:
Eslint插件
ESLint旨在完全可配置,它的目标是提供一个插件化的javascript代码检测工具。这意味着您可以关闭每个规则,只能使用基本语法验证,或者混合并匹配捆绑的规则和自定义规则,使ESLint完美的适用于您的项目。
npm install eslint --save-dev
./node_modules/.bin/eslint --init
运行:npm install eslint-plugin-vue --save-dev
问题项:iview
[eslint-plugin-vue]
[vue/no-parsing-error]
Parsing error: x-invalid-end-tag.
解决方案:在vs code里的首相配置里添加"vetur.validation.template": false
问题项:
解决方案:composer require zizaco/entrust 5.2.x-dev
安装完成后需要在config/app.php中注册服务提供者到providers数组:
Zizaco\Entrust\EntrustServiceProvider::class,
同时在该配置文件中注册相应门面到aliases数组:
'Entrust' => Zizaco\Entrust\EntrustFacade::class,
如果你想要使用中间件(要求Laravel 5.1或更高版本)还需要添加如下代码到app/Http/Kernel.php的routeMiddleware数组:
'role' => \Zizaco\Entrust\Middleware\EntrustRole::class,
'permission' => \Zizaco\Entrust\Middleware\EntrustPermission::class,
'ability' => \Zizaco\Entrust\Middleware\EntrustAbility::class,
2、配置
在配置文件config/auth.php中设置合适的值,Entrust会使用这些配置值来选择相应的用户表和模型类:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
'table' => 'users',
],
],
你还可以发布该扩展包的配置以便后续自定义相关表名以及模型类的命名空间:
php artisan vendor:publish
该命令会在config目录下创建一个entrust.php文件。
使用Entrust提供的迁移命令生成迁移文件:php artisan entrust:migration
问题项:
解决方案:
endor-> zizaco-> entrust-> src-> commands-> MigrationCommand.php,并将”fire“方法更改为”handle“
参考地址:http://laravelacademy.org/post/3755.html
问题项:
Laravel清空配置缓存
清除缓存:用户登录等数据
1. php artisan cache:clear
删除/清除配置文件:php artisan config:clear
生成缓存配置文件PHP artisan config:cache
问题项:
No application encryption key has been specified. {"exception":"[object] (RuntimeException(code: 0): No application encryption key has been specified. at
更新项目时: php artisan key:generate
重新生成缓存配置文件:php artisan config:cache
laravel出现No application encryption key has been specified情况时的处理方法
若文件根目录下没有 .env
1、.env.example 改名使用命令 copy 修改为 .env
2、使用命令 php artisan key:generate 获取密码,自动保存到 .env(这一步基本可以解决问题,运行一下环境就好)
3、将密码复制到config/app.php 中的key里面
4、重新运行,OK。
php artisan key:generate
无论从事什么行业,只要做好两件事就够了,一个是你的专业、一个是你的人品,专业决定了你的存在,人品决定了你的人脉,剩下的就是坚持,用善良專業和真诚赢取更多的信任
lint 语法检测
升级node.js至最新版
npm cache clear --force
cnpm cache clear --force
npm cache verify
cnpm cache verify
cnpm link
composer dumpautoload自动加载命令
artisan config:cache
artisan route:cache
artisan route:cache
以管理员身份运行命令提示符:takeown /f C:\mypc /r
删除文件夹:rd /s /q D:\phpStudy
队列命令
要删除所有失败任务,可以使用queue:flush命令
php artisan queue:flush
如果你要删除一个失败任务,可以使用queue:forget命令:
php artisan queue:forget 5
要重试所有失败任务,使用如下命令即可:
php artisan queue:retry all
该命令将会列出任务ID,连接,对列和失败时间,任务ID可用于重试失败任务,例如,要重试一个ID为5的失败任务,要用到下面的命令
php artisan queue:retry 5
要查看已插入到failed_jobs数据表中的所有失败任务,可以使用Artisan命令queue:failed:
php artisan queue:failed
//使用php artisan queue:table 生成数据队列驱动的表结构
php artisan migrate
https://segmentfault.com/a/1190000010031715
生成failed_jobs数据库表
基于 Laravel Permission 扩展包在项目中轻松实现 RBAC 权限管理功能
在项目根目录下通过 Composer 来安装扩展包依赖:
composer require spatie/laravel-permission
2018.6.15
定义中间件
要创建一个新的中间件,可以通过 Artisan 命令 make:middleware:
php artisan make:middleware CheckToken
问题项:
Laravel 5.2 Auth:attempt()总是返回false就是做用户登录,用户认证不起。我手动认证用户 Auth:attempt()总是失败,是读取不到数据库数据吗,还在怎么回事,一直没有弄明白,求有经验的大神帮帮忙
解决方案:
【Auth用户校验】
1. 指定表来校验用户名和密码.该过程就是在显示的指定guards,否则默认走user
譬如:
if(Auth::guard('admin')->attempt($request->only(['username','password'])))
2. /config/auth.php中配置guards.
名字随意,譬如叫admin
3. 认证表对应的自定义Model要extends Authenticatable
显然,配置一下guards就能解决了.望采纳.
php composer 在laravel中自动加载autoload_class.php中的配置
php composer.phar dumpautoload
问题项:
解决方案:
· 使用 curl 指令下载:
curl -sS https://getcomposer.org/installer | php
·
· 或是沒有安裝 curl ,也可以用 php 指令下载:
php -r "readfile('https://getcomposer.org/installer');" | php
·
· 或是手动下载 composer.phar
安装Excel
1、composer require "maatwebsite/excel:~2.1.0"
2、php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"
在config/app.php文件中加入:
Maatwebsite\Excel\ExcelServiceProvider::class,
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
然后cmd执行下条语句执行成功:
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"
创建一个干净的控制器来测试:php artisan make:controller ExcelController
在路由中定义两个路由:
Laravel安装redis
1、简介
Redis是一个开源的、高级的键值对存储系统,经常被用作数据结构服务器,因为其支持字符串、Hash、列表、集合和有序集合等数据结构。在Laravel中使用Redis之前,需要通过Composer安装predis/predis包:
composer require predis/predis
上传图片时出现419错误:解决方案:
上传图片时出现:
解决方案:在config/filesystem.php文件里添加
问题项:
Laravel 运用 OSS
参考网址:https://laravel-china.org/articles/2938/laravel-using-oss
1、composer require "johnlui/aliyun-oss"
2、再运行composer require jacobcyl/ali-oss-storage:dev-master
问题项:做了一个上传图片的功能,在本地上传通过,服务器报bug。
Unable to guess the mime type as no guessers are available (Did you enable the php_fileinfo extension?)
解决方案:主要原因是php_fileinfo未被开启.
找到php.ini
找到:;extension=php_fileinfo.dll去掉分号
Laravel删除扩展插件
composer remove johnlui/aliyun-oss
composer remove maatwebsite/excel
现在统一用:
"jacobcyl/ali-oss-storage": "dev-master",
安装数据库操作 —— Redis
composer require predis/predis
Laravel修改配置后一定要清理缓存
"php artisan config:clear"!
问题项:
解决方案:安装ajv。
cmd:npm install ajv@^6.0.0
npm update常用命令使用
一、更新
1. npm-check检查更新
npm install -g npm-check
npm-check
2. npm-upgrade更新
npm install -g npm-upgrade
npm-upgrade
3. 更新全局包:
npm update
4. 更新生产环境依赖包:
npm update
5. 更新开发环境依赖包:
npm update
更新package.json中的dependencies依赖到最新版本
当新建一个项目的时候,有时候会从其他项目的package.json里面copy一份dependencies过来。
但因为是新项目,我们想用各个依赖包的最新版本。如果手动去修改dependencies中各个包的版本号,那就太麻烦了,借助npm-check-updates工具可以很方便的将package.json中的依赖包版本号更新为最新版本。
安装:
npm install -g npm-check-updates
检查package.json中dependencies的最新版本:
命令行跳到package.json目录中,输入:ncu
更新dependencies到新版本:
ncu -u
更新全部dependencies到最新版本(包括当前指定版本范围满足最新版本号的,比如^4.2.0 -> ^4.3.0):
ncu -a
npm 查看模块全部版本
npm 查看模块全部版本:(jquery)
npm view jquery versions
安装指定版本: (jquery)
npm install [email protected]
项目配置更新后需运行更新缓存命令:
php artisan config:cache
laravel队列应用
Config->queue.php
myldeMacBook-Pro:laravel53 myl $
主要步骤:
1、迁移队列需要的数据表
2、编写任务类
3、推送任务到队列
4、运行队列监听器
5、处理失败任务
配置 config/queue.php
1.生成迁移文件
php artisan queue:table //生成需要的迁移文件
php artisan migrate
2.创建任务类
php artisan make:jobs xxx任务类名
3.推送任务到队列
$this->dispatch(new xxx($para)任务类对);
4.运行队列监听器
php artisan queue:listen
5.处理失败任务
php artisan queue:failed-table
//生成失败迁移表
php artisan queue:failed-table
php artisan migrate
//查看失败任务
php artisan queue:failed
//执行某个失败任务
// retry id
php artisan queue:retry id
//执行全部失败任务
php artisan queue:all
//删除某个任务
//forget id
php artisan queue:forget id
//删除所有任务
php artisan queue:flush
Horizon 是由 Laravel 框架的核心开发人员开发的一个开源系统,为 Laravel 的 Redis 队列提供了强大的队列监控解决方案。 Horizon 可以帮助你轻松实现对 Redis 队列系统的一些关键指标的监控,例如作业吞吐量,运行时间等。
安装
注:由于 Horizon 使用了异步进程信号,所以 PHP 7.1+ 以上版本才可以使用。
我们使用 Composer 安装 Horizon 到 Laravel 项目:
composer require laravel/horizon
安装完成后,使用 Artisan 命令 vendor:publish 发布前端资源:
php artisan vendor:publish --provider="Laravel\Horizon\HorizonServiceProvider"
1、简介
Laravel队列服务为各种不同的后台队列提供了统一的API。队列允许你推迟耗时任务(例如发送邮件)的执行,从而大幅提高web请求速度。
1.1 配置
队列配置文件存放在config/queue.php。在该文件中你将会找到框架自带的每一个队列驱动的连接配置,包括数据库、Beanstalkd、 IronMQ、 Amazon SQS、 Redis以及同步(本地使用)驱动。其中还包含了一个null队列驱动以拒绝队列任务。
1.2 队列驱动预备知识
1.2.1 数据库
为了使用database队列驱动,需要一张数据库表来存放任务,要生成创建该表的迁移,运行Artisan命令queue:table,迁移被创建好了之后,使用migrate命令运行迁移:
php artisan queue:table
php artisan migrate
1.2.2 其它队列依赖
下面是以上列出队列驱动需要安装的依赖:
· Amazon SQS: aws/aws-sdk-php ~3.0
· Beanstalkd: pda/pheanstalk ~3.0
· IronMQ: iron-io/iron_mq ~2.0
· Redis: predis/predis ~1.0
2、编写任务类
2.1 生成任务类
默认情况下,应用的所有队列任务都存放在app/Jobs目录。你可以使用Artisan CLI生成新的队列任务:
php artisan make:job SendReminderEmail
新建queue.bat文件
cd /d D:/phpStudy/PHPTutorial/www/wan0616_0808
php artisan queue:listen
生成queue.bat文件
2. 将如下代码拷贝进去。第一行的意思是进去到项目目录,第二行语句是执行artisan命令
cd /d E:\\WWW\laravel\
php artisan schedule:run 1>> NUL 2>&1
最大尝试次数通过Artisan任务queue:listen或queue:work上的--tries开关来定义
解决前后端分离应用跨域请求利器 —— Laravel CORS 扩展包
laravel-cors的作用是用于解决浏览器跨域的问题
composer require barryvdh/laravel-cors
php artisan vendor:publish --provider="Barryvdh\Cors\ServiceProvider"
备注
什么是跨域
跨域是指从一个域名的网页去请求另一个域名的资源。比如从www.baidu.com 页面去请求 www.google.com 的资源。跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域
为什么浏览器要限制跨域访问
原因就是安全问题:如果一个网页可以随意地访问另外一个网站的资源,那么就有可能在客户完全不知情的情况下出现安全问题。
为什么要跨域
既然有安全问题,那为什么又要跨域呢? 有时公司内部有多个不同的子域,比如一个是b.a.com ,而应用是放在c.a.com , 这时想从b.a.com去访问 location.company.com 的资源就属于跨域。
如何解决跨域问题
跨域访问需要用到两样东东,一个是JSON,一种基于文本的传输协议;一种是JSONP,一群码农想出来的跨域解决方案。
服务端需要做的
服务端要检查访问的请求参数,如果没有callback,则可以按照之前的流程走;如果带着callback参数,则需要将返回的结果包装在callback里面。
客户端(浏览器)需要做的
客户端可以多种方式可以实现JSONP的调用
larave-cors做了什么
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。
它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。
laravel作为后端API使用的时候,前端ajax请求的时候 遇到跨域的问题
. laravel5.5 barryvdh/laravel-cors 使用方法很简单
1. composer require barryvdh/laravel-cors
2. app/Http/Kernel.php 添加
protected $middleware = [ \Barryvdh\Cors\HandleCors::class];
3. 这时候ajax 访问就可以没有跨域的问题了
npm install babel-loader babel-core babel-preset-es2015 webpack --save-dev
问题项:
解决方案-更新:npm update
php artisan make:model --migration Models/Posts
数据库迁移文件一旦迁移了一次再次修改页不会再迁移
php artisan make:migration create_table_test1
php artisan migrate:status
php artisan migrate
备注:laravel schema创建表字段没有tinyText类型
然后我们重置数据库并做种:
php artisan migrate:refresh --seed
php artisan make:factory PostFactory
Laravel:5.6版本
php artisan make:command SendEmails
Laravel:5.1版本
php artisan make:console SendEmails --command=emails:send
1.
2. 注意,php artisan migrate:refresh命令相当于
$ php artisan migrate:reset $ php artisan migrate
3. 我们处于本地开发阶段,数据使用种子(Seed)文件进行填充。
php artisan make:seeder TestTableSeeder
php artisan db:seed --class=TestTableSeeder
参考网址:https://blog.csdn.net/rain_while/article/details/60764741
str_slug
从给定字串产生一个对网址友善的「slug」。
str_slug($title, $separator);
例子:
$title = str_slug("Laravel 5 Framework", "-");
// laravel-5-framework
DB::table('authors')->insert( 15 array( 16 array( 17 'name' => 'Bowen', 18 'age' => 25, 19 'active'=> 1, 20 'email'=>'[email protected]', 21 'bio' => '', 22 'role_id' => 2 23 ), 24 array( 25 'name' => 'Judith', 26 'age' => 21, 27 'active'=>0, 28 'email'=>'[email protected]', 29 'bio' => '', 30 'role_id' => 1 31 ) 32 )); --------------------- 本文来自 chajinglong 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/chajinglong/article/details/71195307?utm_source=copy
根据自己的PHP版本号选出对应的laravel版本
Laravel 5.1 PHP对应的版本>=5.5.9
Laravel 5.2 PHP对应的版本>=5.5.9
Laravel 5.3 PHP对应的版本>=5.6.4
Laravel 5.4 PHP对应的版本>=5.6.4
Laravel 5.5 PHP对应的版本>=7.0.0
Laravel 5.6 PHP对应的版本>=7.1.3
·因为我本身的PHP是5.6.28
·所以我选的laravel是5.1,还要开启下面这些扩展
· OpenSSL PHP Extension
· PDO PHP Extension
· Mbstring PHP Extension
· Tokenizer PHP Extension
2)清空缓存
php artisan view:clear
php artisan route:clear
"php": ">=5.6.4",
"laravel/framework": "5.4.*",
修改laravel框架版本步骤
1、修改composer.json的对应版本,在运行composer update
备注:php artisan --version可查看当前框架的版本
一、配置APP_KEY
laravel框架默认在.env配置文件中硬编码了对称加密密钥,开发环境和生产环境不必且应严格禁止使用相同的APP_KEY
在项目中运行php artisan key:generate就会在.env文件中自动生成密钥。
?
1 |
APP_KEY=Li0zqXhuxOlnsMtG90UsU********** |
二、配置数据库及数据库用户
(1)创建数据库
使用命令mysql < init_db.sql 执行脚本来创建数据库
mysql -u root
CREATE DATABASE laravel
参考网址:
https://blog.csdn.net/qq_28602957/article/details/51007638
解决方案:
use PDO;
use Exception;
try{
$pdo=new PDO($dsn,$username,$password);
return ['code' => 0,'msg' => "数据库连接成功,程序安装成功"];
}catch(Exception $e){
return [
'code' => 1,
'msg' => "数据库连接失败,请检查数据库信息是否正确,
错误信息: ".$e->getCode().",".$e->getMessage()." href='https://www.baidu.com/s?wd=MYSQL". $e->getCode().$e->getMessage()."&ie=UTF-8'>[寻找解决方案]",
];
}
数据库迁移回滚:相当于撤销上一次迁移操作
php artisan migrate:rollback
base_path//使用base_path函数为相对于应用目录的给定文件生成绝对路径:
app_path//使用app_path函数为相对于app目录的给定文件生成绝对路径:
storage_path//storage_path函数相对于storage目录的给定文件的绝对路径:
Laravel连接本地主机localhost和127.0.0.1的区别:
当主机填写为localhost时mysql会采用 unix domain socket连接
当主机填写为127.0.0.1时mysql会采用tcp方式连接