咱们在部署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。
<code class="php">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获取依赖超时
首先判断是否存在这个依赖包。
其次,可能是国外的源,下载超时很失常,咱们应用命令将源改为国内的源。
<code class="php">composer config -g repo.packagist composer https://packagist.phpcomposer.com
Composer
降级带来的坑: Undefined index: name
我在部署时也遇到了这个问题,咱们能够间接尝试回滚版本或者升高版本,部署下来后再降级回来。
<code class="php">Undefined index: name
如果存在这个报错,那么咱们能够这样:
<code class="php"># composer 降级 composer self-update --1 # 再次装置,即可!!! composer install
或者不须要再次装置,咱们间接运行第一句也能够。
<code class="php">composer self-update --1
至于其余办法,不倡议,我也就不写了。