packagist.phpcomposer.com原因导致的报错,使用Laravel-China社区镜像
解决:将composer.json
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
修改成
"packagist": {
"type": "composer",
"url": "https://packagist.laravel-china.org"
}
或git命令全局配置:composer config -g repo.packagist composer https://packagist.laravel-china.org
这是之前使用Laravel China Composer 国内镜像加速
一、但是将于 2019 年 9 月 4 号停用,而现在下载也出现了问题,所以记录下可用的Composer 镜像列表
加速原理
Composer 安装时候会向国外的 Packagist 服务器发送请求,因为众所周知的原因,国内请求国外服务器,有时会出现不稳定甚至不可用的情况。
镜像加速就是把国外的数据缓存到国内的服务器上,Composer 客户端只需配置服务器为国内的服务器,即可从国内服务器上下载,稳定性会有很高的提升。
要点一:全量与非全量镜像
Composer 安装扩展包的时候,一般会发起两种请求:
- JSON 请求 —— 扩展包元信息,包括 zip 包的下载链接;
- Zip 包请求 —— 扩展包源码压缩包。
全量镜像指的是以上两种请求都使用国内服务器加速。而非全量服务器一般只缓存 JSON 数据。
要点二、更新时间
当一个 PHP 扩展包从 GitHub 上发布新版本的时候,Packagist.org 上会接收到回调并记录新版本的信息。与 GitHub 的回调相比,国内镜像只能通过主动请求 Packagist.org 的方式来获取更新的扩展包版本。
更新时间指的是国内镜像服务器更新请求的频率,意味着当你在 GitHub 上发布了新版本,此新版本需要多长时间才能在国内的镜像服务器上出现。
故更新时间越短越好。
阿里云 Composer 全量镜像(推荐)
镜像类型:全量镜像
更新时间:1 分钟
镜像地址:https://mirrors.aliyun.com/composer/
官方地址:https://mirrors.aliyun.com/composer/index....\
镜像说明:阿里云 CDN 加速,更新速度快,推荐使用
安畅网络镜像
镜像类型:全量镜像
更新时间:1 分钟
镜像地址:https://php.cnpkg.org
官方地址:https://php.cnpkg.org/
镜像说明:此 Composer 镜像由安畅网络赞助,目前支持元数据、下载包全量代理。
交通大学镜像
镜像类型:非全量镜像
镜像地址:https://packagist.mirrors.sjtug.sjtu.edu.c...\
官方地址:https://mirrors.sjtug.sjtu.edu.cn/packagis...\
镜像说明:上海交通大学提供的 composer 镜像,稳定、快速、现代的镜像服务,推荐使用。
阿里云Composer 镜像站配置流程:
全局配置(推荐)
-
所有项目都会使用该镜像地址:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
-
取消配置:
composer config -g --unset repos.packagist
项目配置
-
仅修改当前工程配置,仅当前工程可使用该镜像地址:
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
-
取消配置:
composer config --unset repos.packagist
调试
-
composer 命令增加 -vvv 可输出详细的信息,命令如下:
composer -vvv require alibabacloud/sdk
二、新建Laravel项目
在laragon 终端中,cd 到指定目录中执行命令
创建最新Laravel版本项目
composer create-project laravel/laravel blog --prefer-dist
创建版本为5.5.x的Laravel项目
composer create-project laravel/laravel blog56 5.6.* --prefer-dist
创建项目后,在Navicat Premium中新建指定数据库
修改.env文件,更改为Laragon服务器用户名和密码 ,及数据库名称
在PHP Storm中执行命令:php artisan migrate 执行迁移查看是否创建数据库成功,如创建成功,则项目连接数据库正确
三、创建Laravel-admin项目
首先设置本项目Composer 镜像:
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
查看composer.json文件中是否添加:
"repositories": {
"packagist": {
"type": "composer",
"url": "https://mirrors.aliyun.com/composer/"
}
}
Laravel-admin 当前版本(1.5)需要安装PHP 7+
和Laravel 5.5
, 如果你使用更早的版本,请参考文档: 1.4
首先确保安装好了laravel
,并且数据库连接设置正确。
执行命令安装laravel-admin:
composer require encore/laravel-admin
然后运行下面的命令来发布资源:
php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
在该命令会生成配置文件config/admin.php
,可以在里面修改安装的地址、数据库连接、以及表名,建议都是用默认配置不修改。
然后运行下面的命令完成安装:
php artisan admin:install
运行这个命令的时候,如果遇到了下面的错误:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table
usersadd unique
users_email_unique(
email))
参考这个issue来解决 https://github.com/z-song/laravel-admin/issues/1541
启动服务后,在浏览器打开 http://localhost/admin/
,使用用户名 admin
和密码 admin
登录.
生成的文件
安装完成之后,会在项目目录中生成以下的文件:
配置文件
安装完成之后,laravel-admin
所有的配置都在config/admin.php
文件中。
后台项目文件
安装完成之后,后台的安装目录为app/Admin
,之后大部分的后台开发编码工作都是在这个目录下进行。
app/Admin
├── Controllers
│ ├── ExampleController.php
│ └── HomeController.php
├── bootstrap.php
└── routes.php
app/Admin/routes.php
文件用来配置后台路由。
app/Admin/bootstrap.php
是laravel-admin
的启动文件, 使用方法请参考文件里面的注释.
app/Admin/Controllers
目录用来存放后台控制器文件,该目录下的HomeController.php
文件是后台首页的显示控制器,ExampleController.php
为实例文件。
静态文件
后台所需的前端静态文件在/public/vendor/laravel-admin
目录下.