Laravel 项目README

source codeopen in new window

1. 下载

推荐使用git 对应的master分支上获取项目的最新代码,使用命令git clone https://github.com/curder/example

2. 环境文件

在项目的根目录中附带一个.env.example文件,请将其拷贝重命名为.env。可以使用如下命令完成操作cp .env.example .env

注意:确保您的系统上显示隐藏的文件。

3. Composer

laravel项目依赖通过[composer](http://getcomposer.org/)工具进行管理。

第一步是通过在终端中进入到项目中并输入以下命令来安装依赖

composer install

4. NPM/Yarn

为了安装用于前端开发的JavaScript包,您需要使用Node包管理器open in new window,或者可选的Yarn包装管理器open in new window(推荐)

如果您只安装了npm,则必须从项目的根目录运行此命令:

npm install

如果您安装了Yarn,请从项目的根目录运行此操作

yarn

5. 创建数据库

在服务器上创建数据库,然后更新项目根目录下的.env文件上如下的相关行:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

更新上面的行已完成数据库相关设置。

6. artisan命令

我们要做的第一件事就是设置 Laravel 在进行加密时使用的密钥。

php artisan key:generate

应该看到一条绿色消息,指出您的密钥已成功生成,以及你应该看到.env文件中的app_key变量反映出来。

现在是时候查看数据库连接信息是否正确。运行内置的迁移来创建数据库表

php artisan migrate

如果没有看到错误,应该会看到每个迁移表的消息,而不是数据库连接信息很可能不正确。

运行数据库迁移文件以添加一些默认数据

php artisan db:seed

应该得到每个迁移文件的消息,并且应该可以看到数据库表中的信息。

7. NPM Run "*"

既然已经拥有数据库表和默认行,则需要构建样式和脚本。

这些文件是使用laravel mix生成的,laravel mixopen in new window是许多工具的包装,并且在项目的根目录下运行webpack.mix.js。通过执行下面的命令:

npm run <command>

可用的命令列在package.json文件的scripts键下的顶部。

您将在屏幕上看到大量信息,然后在最后提供一张表格,说明编译的内容和文件的位置。

此时您已完成,您应该能够在本地浏览器中查看该项目并查看该项目。

8. PHPUnit

安装项目后,确保运行测试套件以确保所有部件都正常工作。

在项目根目录下运行下面的命令

phpunit

您会看到每个数百个测试都会出现一个点.,然后在最后提供通过测试的数量。全新的安装应该没有失败。

安装项目后,您必须运行此命令以链接您的公用存储文件夹以进行用户文件上传

php artisan storage:link

10. 登录

在项目安装完成后,您可以在浏览器中访问它,点击导航栏右侧的登录按钮。

管理员账号信息是:

用户名:admin@admin.com

密码:123456

成功登录后将被自动重定向到后端。

如果之前在数据库迁移文件中更改了这些值,那么显然应该使用更新的值。

Web服务器配置

Nginx

如果当前环境使用的是 Nginx,请在config配置中加入以下内容,它将会将所有请求都引导到 index.php 单入口文件。

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

Apache

项目使用 public/.htaccess 文件来为前端控制器提供隐藏了 index.php 的优雅链接。如果当前环境使用了 Apache 作为Web服务器,请务必启用 mod_rewrite 模块,让服务器能够支持 .htaccess 文件的解析。

如果项目附带的 .htaccess 文件不起作用,就尝试用下面的方法代替

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

其他优化

php artisan config:cache # 配置信息缓存
php artisan route:cache # 路由缓存
php artisan optimize # 类映射加载优化
composer dumpautoload # 自动加载优化