惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
博客园 - 司徒正美
小众软件
小众软件
H
Help Net Security
博客园 - 聂微东
宝玉的分享
宝玉的分享
Jina AI
Jina AI
酷 壳 – CoolShell
酷 壳 – CoolShell
阮一峰的网络日志
阮一峰的网络日志
M
MIT News - Artificial intelligence
博客园 - 【当耐特】
U
Unit 42
大猫的无限游戏
大猫的无限游戏
Apple Machine Learning Research
Apple Machine Learning Research
S
SegmentFault 最新的问题
腾讯CDC
MongoDB | Blog
MongoDB | Blog
云风的 BLOG
云风的 BLOG
J
Java Code Geeks
I
InfoQ
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Martin Fowler
Martin Fowler
博客园 - 三生石上(FineUI控件)
Vercel News
Vercel News

云游君的小站

小云梦工坊 #01:用 AI 复活七年前的 ak-ui 开源项目的「死与新生」 没有红包封面,但是 AI 春联…… 家·烟花·红包封面 云乐坊工作室的成立与缘起与有关的话 聊聊四元数与万向锁及其实际意义 从零开始写一个 Web Component - GitHub Corners 旋转吧!徽章! 又拍云—年轻人的第一个 CDN 云空调,便携小空调 char-dust 一个图片转字符画的 npm 包与示例站点 nnrm - 一个极简的 npm/yarn registry 切换管理器 做猪呢,最重要的是开心 从 Vite 与 Vue 开始的 D3 数据可视化之旅 如何找到你朋友的社交账号 写写高斯模糊——从 CSS 模糊滤镜的白边说起 如何从 Valine 迁移至 Disqus ADV 游戏引擎计划 关于我打算当老师并报考教师资格证这件事 Strato - Hexo 主题「Yun」版本宣传 PV 我与小镇与家 el-bot & mirai-ts 制作笔记 第三方评论系统之我见 人生不是一场马拉松 👴就是二次元,故尝试证明。 教你如何从零开始搭建一个属于自己的网站 使用 CDN 加速你的 GitHub Pages 网站 使用 CCDIK 或 FABRIK 实现逆向动力学 【转】三维文件格式知多少 【译】30 分钟学会 LaTeX
Laravel 使用笔记
☁️ · 2017-08-21 · via 云游君的小站

Laravel 框架使用过程中的一些笔记。

线上部署 ​

相关过程 ​

  1. LNMP 一键安装包
  2. 记 LNMP 一键安装后 Laravel 线上部署的坑

关键步骤 ​

安装 composer ​

git 部署 ​

  • 安装 git,$ sudo apt install git
  • 创建 ssh-key,$ ssh-keygen -t rsa -C "邮箱",一路回车。
  • $ cat ~/.ssh/id_rsa.pub 复制公钥到 github 上。添加 ssh key。
  • $ cd /home/wwwroot 到放置项目代码的文件夹
  • $ git clone git@github.com:用户名/项目名.git,从 github 获取线上代码。
  • $ cp .env.example .env 对.env 文件并进行配置。(app_key,database,mail 等)
  • $ composer install 安装相关包
  • $ php artisan migrate 安装数据库迁移

FAQ ​

数据库字符长度过长 ​

参见 Laravel 5.4 migrate 时报错: Specified key was too long error

bash

1071 Specified key was too long; max key length is 767 bytes

MySql 支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会出现插入异常。三个字节 UTF-8 最大能编码的 Unicode 字符是 0xffff ,即 Unicode 中的基本多文种平面(BMP)。因而包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码)在内的非基本多文种平面的 Unicode 字符都无法使用 MySql 的 utf8 字符集存储。

这也应该就是 Laravel 5.4 改用 4 字节长度的 utf8mb4 字符编码的原因之一。不过要注意的是,只有 MySql 5.5.3 版本以后才开始支持 utf8mb4 字符编码(查看版本:selection version();)。如果 MySql 版本过低,需要进行版本更新。

解决方案(二选一) ​

  1. 升级 MySql 版本到 5.5.3 以上。
  2. 手动配置迁移命令 migrate 生成的默认字符串长度,在 app\Providers\AppServiceProders 中调用 Schema::defaultStringLength 方法来实现配置:

php

use Illuminate\Support\Facades\Schema;

/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
   Schema::defaultStringLength(191);
}

停止维护时间戳 ​

php

class Xxx extends Model {
  public $timestamps= false;
}

模版插件 ​

Laravel-admin ​

To Be Continued.