在Heroku上安装Yii2失败。

时间:2016-09-18 02:32:26

标签: php heroku yii2 composer-php

无法在Heroku上安装Yii2。

我正在尝试在Heroku上安装Yii2-basic-application模板。 但我面临依赖/作曲家问题。

应用程序在本地计算机上运行完美,但在部署到heroku时,它会抛出 一个ReflectionClass错误,(找不到类yii \ debug \ Module)。此例外与y ii2-debug模块有关。 我对作曲家的内部运作一无所知。 我已经composer updatecomposer dump-autoload但没有帮助。 这些文件实际上存在于服务器上,这让我觉得它可能是关于作曲家相关文件中类映射的问题。

另外,一个原因可能是yii2用于依赖关系管理的插件损坏,称为composer-asset-plugin, Github上的Yii2 repo也报告了这个插件的问题()。

我也很欣赏其他的解决方法,因为它很重要。

1 个答案:

答案 0 :(得分:0)

你的Heroku应用程序正在投入生产。验证是否已设置YII_ENV

heroku config:set YII_ENV=prod

你的yii2-debug可能只在开发中。所以它不会安装在生产中。

composer.json
"require-dev": {
    "yiisoft/yii2-debug": "*",

如果您在部署期间运行控制台命令,则必须确保不要自动加载或引导debug模块。

console.php
'bootstrap' => YII_ENV == 'dev' ? ['log', 'gii'] : ['log'],
'modules' => YII_ENV == 'dev' ? [
  'gii' => 'yii\gii\Module'
] : [],

另见Can someone explain how Yii minimizing assets is supposed to work on Heroku?

如果这没有帮助,您可以在部署期间包含控制台输出吗?