Laravel Note
2017年11月13日13:38:52 lamp搭建
-- 更改yam源为163
[1] 首先备份/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[2] 进入yum源配置文件所在文件夹
[root@localhost yum.repos.d]# cd /etc/yum.repos.d/
[3] 下载163的yum源配置文件,放入/etc/yum.repos.d/(操作前请做好相应备份)
[root@localhost yum.repos.d]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
[4] 运行yum makecache生成缓存
[root@localhost yum.repos.d]# yum makecache
[5] 更新系统(非必须)
[root@localhost yum.repos.d]# yum -y update
[6] 安装vim编辑器(非必须)
[root@localhost ~]# yum -y install vim*
-- 安装 lamp(这里选择集成包)
wdcp
-- 安装composer并配置中国镜像
打开命令行并依次执行下列命令安装最新版本的 Composer:
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
执行第一条命令下载下来的 composer-setup.php 脚本将简单地检测 php.ini 中的参数设置,如果某些参数未正确设置则会给出警告;然后下载最新版本的 composer.phar 文件到当前目录。
上述 3 条命令的作用依次是:
- 下载安装脚本 -
composer-setup.php- 到当前目录。 - 执行安装过程。
- 删除安装脚本。
这里选择全局安装
Mac 或 Linux 系统:
打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/目录下面:
sudo mv composer.phar /usr/local/bin/composer
Windows 系统:
- 找到并进入 PHP 的安装目录(和你在命令行中执行的
php指令应该是同一套 PHP)。 - 将
composer.phar复制到 PHP 的安装目录下面,也就是和php.exe在同一级目录。 - 在 PHP 安装目录下新建一个
composer.bat文件,并将下列代码保存到此文件中。
@php "%~dp0composer.phar" %*
最后重新打开一个命令行窗口试一试执行 composer --version 看看是否正确输出版本号。
-- 配置镜像
-- 创建部署用账户(composer 不允许使用root用户执行)
groupadd www-data
useradd www-deploy -g www-data
然后在执行Composer 的时候,切换用户为www-deploy执行.
注意文件所有者的修改(chown www-deploy ..)
-- composer 安装 laravel(这里安装5.4版本)
su www-deploy
composer create-project laravel/laravel=5.4.* --prefer-dist
2017年11月3日15:56:23
-- 创建 migrate
php artisan make:migration create_books_table
-- 迁移
php artisan migrate
回滚
php artisan migrate:rollback
!! note !!
MariaDB或者一些老版本的的MySQL上运行 migrations 命令时,你可能会碰到下面这个错误
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
-- 原因
laravel 5.4 改变了默认的数据库字符集,现在utf8mb4包括存储emojis支持。如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情。
-- 解决
AppServiceProvider.php 文件里的 boot 方法里设置一个默认值
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
-- 路由
Route::group(['middleware' => 'auth', 'namespace' => 'Home', 'prefix' => 'home'], function() {
Route::get('/', 'HomeController@index');
});
-- 静态资源
{{ asset('js/additional-methods.js') }}
-- 环境常量
.env文件
读取配置时(confine/app.php), 都是现成.env中找对应的环境常量, 无匹配再走config/app.php中的设置

浙公网安备 33010602011771号