乐趣区

关于php:PHP的Laravel与Composer部署项目时常见问题

咱们在部署 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

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

退出移动版