# 安装框架 ## 框架环境 * PHP >=`7.1` * Laravel`5.5.0`~`9.*` * Fileinfo PHP Extension ## 开始安装 > 如果安装过程中出现`composer`下载过慢或安装失败的情况,请运行命令`composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/`把`composer`镜像更换为阿里云镜像。 首先需要安装`laravel`框架,如已安装可以跳过此步骤。如果您是第一次使用`laravel`,请务必先阅读文档 [安装《Laravel 9 中文文档》](https://learnku.com/docs/laravel/9.x/installation/12200) > Laravel9 现在 需要 PHP 8.0.2 or 更高。 本次项目是 `玖鸽物流官网` 项目起名 `jiuge56` 安装指令是 `composer create-project --prefer-dist laravel/laravel jiuge56` 在 `F:\phpstudy_pro\WWW` 或者 自己创建个文件夹 执行该命令 我这里是在D盘的 `application` ~~~bash > cd D:\application > composer create-project --prefer-dist laravel/laravel jiuge56 ~~~ 测试是否安装成功 当前目录下输入指令 ~~~bash > php artisan serve ~~~ 安装完`laravel`之后需要修改`.env`文件,设置数据库连接设置正确 ~~~.env DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=jiuge56 DB_USERNAME=root DB_PASSWORD=qwertyuiop ~~~ 一般默认密码是 `root` 我这里修改过密码 使用 `navicat` 或者其他数据库管理软件 创建 数据库 `jiuge56` 字符集使用 `utf8` 排序规则使用 `utf8_general_ci` 安装`dcat-admin` ~~~bash > cd D:\application\jiuge56 > composer require dcat/laravel-admin:"2.*" -vvv ~~~ 如果这一步出现报错,则更改`composer.json`的参数`minimum-stability`的值为`dev`, 然后运行下面的命令来发布资源: ~~~bash > php artisan admin:publish ~~~ 在该命令会生成配置文件`config/admin.php`,可以在里面修改安装的地址、数据库连接、以及表名,建议都是用默认配置不修改。 然后运行下面的命令完成安装: > {tip} 执行这一步命令可能会报以下错误`Specified key was too long ... 767 bytes`,如果出现这个报错,请在`app/Providers/AppServiceProvider.php`文件的`boot`方法中加上代码`\Schema::defaultStringLength(191);`,然后删除掉数据库中的所有数据表,再重新运行一遍`php artisan admin:install`命令即可。 ~~~bash > php artisan admin:install ~~~ 上述步骤操作完成之后就可以配置`web`服务了,**注意需要把`web`目录指向`public`目录**!如果用的是`nginx`,还需要在配置中加上伪静态配置 ~~~nginx location / { try_files $uri $uri/ /index.php?$query_string; } ~~~ 启动服务后,在浏览器打开`http://localhost/admin`,使用用户名`admin`和密码`admin`登陆。 我这里设置的域名是 `http://jiuge56.bd/admin` ## 生成的文件 安装完成之后,会在项目目录中生成以下的文件: ### 配置文件 安装完成之后,`dcat-admin`所有的配置都在`config/admin.php`文件中。 ### 后台项目文件 安装完成之后,后台的安装目录为 `app/Admin`,之后大部分的后台开发编码工作都是在这个目录下进行。 ~~~php app/Admin ├── Controllers │ ├── AuthController.php │ └── HomeController.php ├── Metrics │ └── Examples │ ├── NewDevices.php │ ├── NewUsers.php │ ├── ProductOrders.php │ ├── Sessions.php │ ├── Tickets.php │ └── TotalUsers.php ├── bootstrap.php └── routes.php ~~~ 1. `app/Admin/routes.php` 文件用来配置后台路由。 2. `app/Admin/bootstrap.php` 是 `dcat-admin` 的启动文件,使用方法请参考文件里面的注释. 3. `app/Admin/Controllers` 目录用来存放后台控制器文件,该目录下的 `HomeController.php` 文件是后台首页的显示控制器,`AuthController.php` 为后台管理员登录鉴权控制器。 4. `app/Admin/Metrics/Examples` 里面存放的是`数据统计卡片(Metric Card)` 的示例代码. ### 静态文件 后台所需的前端静态文件在 `/public/vendor/dcat-admin` 目录下。 ### 数据表迁移文件 对应的数据表迁移文件在 `/database/migrations` 目录下。 ### 语言包 语言包文件在 `/resources/lang` 目录下。