Laravel配置子文件夹在新服务器上无法识别

时间:2013-12-20 11:43:32

标签: heroku deployment laravel laravel-4

我有一些美国州县的配置文件,例如:

config/
    state/
        alabama/
            counties.php
        alaska/
            counties.php
        ...

在我的开发localhost服务器上,我用以下方式调用它们:

Config::get('state/alabama/counties');

并且它有效,它会加载我在某处显示的一系列县。

但是当我在Heroku上部署这个应用程序时,它们就不会出现了。     我认为将config/state/子文件夹视为环境配置可能有问题吗?

我有一个config/staging子文件夹,我有新的数据库配置资料,它没有问题,     但是在Heroku应用程序上,各州都不会出现。

1 个答案:

答案 0 :(得分:0)

您是否已将此目录添加到composer.json中的自动加载映射中,然后运行composer dump-autoload?如果没有这个,Laravel不知道要考虑加载你的新文件。

Composer是一个CLI运行的文件,存在于每个laravel安装的Root中。 composer.json是Composer的配置文件 - 它使用它来管理您的依赖项。

composer.json中有一个名为“autoload”的部分。这些是每次应用程序启动时自动加载的文件。我看起来像这样:

"autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php",
            "app/core"
        ]

对于之前不存在且我希望Laravel理解的每个文件夹,我在这里添加了一个条目。然后,我运行composer dump-autoload并且Laravel“理解”我想要使用的文件在哪里。

每次添加文件,类,存储库 - 您希望Laravel自动使用的任何内容时,您都必须运行composer dump-autoload

P.S:如果composer dump-autoload不起作用,请尝试composer.phar dump-autoload