咱们在部署PHP我的项目时,其实大部分的PHP我的项目会创立环境检测与一键Install页面。

然而,有许多的我的项目还采纳了Composer部署。

什么是Composer

至于什么是Composer,我就简略说一下。

Composer是 PHP 的一个依赖管理工具。咱们能够在我的项目中申明所依赖的内部工具库,Composer 会帮你装置这些依赖的库文件,有了它,咱们就能够很轻松的应用一个命令将其他人的优良代码援用到咱们的我的项目中来。

相当于Node外面的npm

Laravel框架

Laravel是一个开源PHP框架,功能强大且易于了解。它遵循模型 - 视图 - 控制器设计模式(MVC)。Laravel重用了不同框架的现有组件,这有助于创立Web应用程序。这样设计的Web应用程序更加结构化和实用。

具体特点我就不说了,其中比较显著的是,依赖管理器齐全基于composer

报错:php artisan key:generate

这个谬误,个别有三个问题,对应解决一下。

报错1:PHP脚本占用内存太多,memory_limit默认128m不够用。
PHP Fatal error: Allowed memory size of XXXXXX bytes exhausted 。
Composer命令失败:
Composer外部减少memory_limit到1.5G.

报错2:PHP版本问题。

这个就对症剖析就能够。

留神的是,有时候不是你我的项目PHP版本不行,而是你composer的版本没有对应。

报错3:须要更新composer。

composer update

Laravel 呈现 No application encryption key has been specified.

首先,咱们要看看有没有.env文件,或者.env文件后还追加了.example后缀。

1、.env.example 改名应用命令 copy 批改为 .env。

此时可能还提醒短少了Key。咱们应用命令生成。

2、应用命令 php artisan key:generate 获取明码,主动保留到 .env。

命令间接在终端运行就能够。

Composer获取依赖超时

首先判断是否存在这个依赖包。

其次,可能是国外的源,下载超时很失常,咱们应用命令将源改为国内的源。

composer config -g repo.packagist composer https://packagist.phpcomposer.com 

Composer 降级带来的坑: Undefined index: name

我在部署时也遇到了这个问题,咱们能够间接尝试回滚版本或者升高版本,部署下来后再降级回来。

Undefined index: name

如果存在这个报错,那么咱们能够这样:

# composer 降级composer self-update --1 # 再次装置,即可!!!composer install

或者不须要再次装置,咱们间接运行第一句也能够。

composer self-update --1

至于其余办法,不倡议,我也就不写了。