前往小程序,Get更优阅读体验!
立即前往
发布

PHP

作者头像
云游君
发布2021-05-21 10:35:16
发布2021-05-21 10:35:16
2.6K00
代码可运行
举报
文章被收录于专栏:云游的小教程云游的小教程
运行总次数:0
代码可运行

Some Commands Record.

Bash

Linux

Git

环境变量

  • 显示所有环境变量 env
  • 导出变量 export NODE_ENV='production'
  • 删除变量 unset NODE_ENV

NODE_ENV 为举例变量名,可使用任意名称

命令行打开网页或文件夹

  • Linux : open xxx
  • Windows : 打开网页 start xxx | 打开文件资源管理器 explorer
Example

打开网址 <yunyoujun.cn>: start yunyoujun.cn

打开当前目录: explorer .

&& 与 ||

  • ; 如果被分号(;)所分隔的命令会连续的执行下去,就算是错误的命令也会继续执行后面的命令。
  • 如果第一个命令执行成功,与操作符 ( && )才会执行第二个命令
  • 如果第一个命令执行失败,或操作符 ( || )才会执行第二个命令
代码语言:javascript
代码运行次数:0
复制
# algolia.sh
export HEXO_ALGOLIA_INDEXING_KEY=xxx
hexo clean
hexo algolia
  • 如上文件在 git bash 中执行时为逐行执行,执行完 hexo clean 后(不管从成功还是失败)执行 hexo alglolia
  • hexo clean && hexo algolia 则意味着 hexo clean 执行成功,才会执行 hexo algolia

Java MVN

  • 编译 Java : mvn compile (默认放在 src/main/java 目录下)
  • 执行 java 类 : mvn exec:java -Dexec.mainClass="bean.User"
  • 运行服务器 : mvn tomcat7:run

To Be Continued.

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

代码语言:javascript
代码运行次数:0
复制
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 方法来实现配置:
代码语言:javascript
代码运行次数:0
复制
use Illuminate\Support\Facades\Schema;

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

停止维护时间戳

代码语言:javascript
代码运行次数:0
复制
class Xxx extends Model {
  public $timestamps= false;
}

模版插件

Laravel-admin

To Be Continued.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Bash
    • Linux
    • Git
    • 环境变量
    • 命令行打开网页或文件夹
      • Example
    • && 与 ||
    • Java MVN
  • 线上部署
    • 相关过程
    • 关键步骤
      • 安装 composer
      • git 部署
  • FAQ
    • 数据库字符长度过长
      • 解决方案(二选一)
    • 停止维护时间戳
  • 模版插件
    • Laravel-admin
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档