【问题标题】:Laravel config subfolder not recognized on new serverLaravel 配置子文件夹在新服务器上无法识别
【发布时间】:2013-12-20 11:43:32
【问题描述】:

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

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

在我的开发本地主机服务器上,我调用它们:

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

它起作用了,它加载了我在某处显示的县数组。

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

我确实有一个 config/staging 子文件夹,其中我有新的数据库配置内容,它可以正常工作, 但是在 Heroku 应用程序上,状态不会显示。

【问题讨论】:

    标签: heroku deployment laravel laravel-4


    【解决方案1】:

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

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

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

    "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

    【讨论】:

    • 你能给我一些关于这个的参考吗?只想指出配置文件在 localhost 上运行,但在 Heroku 服务器上运行。
    • 这应该会有所帮助 - 这是 Heroku 特有的:bergie.iki.fi/blog/…
    猜你喜欢
    • 2014-07-24
    • 1970-01-01
    • 2021-01-03
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 2012-03-03
    相关资源
    最近更新 更多