【问题标题】:App::environment not being read correctly on Laravel 4.1App::environment 在 Laravel 4.1 上没有被正确读取
【发布时间】:2014-06-25 06:21:21
【问题描述】:

我有两个用于本地测试和生产环境的 FB 应用程序。为了让这些运行,我设置了一个本地环境和一个生产环境(Laravel 的默认设置)。

我已经在我的 bootstrap/start.php 文件中设置了本地环境:

$env = $app->detectEnvironment(array(

    'local' => array('*Firstname*-*Lastname*-MacBook-Pro.local'),

));

我在本地环境中使用了笔记本电脑的机器名称(我在 MAMP 上运行它)。

然后在我的 Facebook OAuth2 控制器中,我有:

public function getFacebook($provider) {      

        if(App::environment('local')) {
            return OAuth2::provider($provider, array('id' => 'appid1', 'secret' => 'appsecret1'));
        }
        else {
            return OAuth2::provider($provider, array('id' => 'appid2', 'secret' => 'appsecret2'));
        }

    }

但是,当我在本地机器上使用 MAMP 运行它时,它使用的是 appid2、appsecret2(也就是运行 else 而不是读取本地环境)。

我错过了什么?谢谢您的帮助。

【问题讨论】:

  • *Firstname*-*Lastname*-MacBook-Pro.local 是您机器的主机名还是您用来访问应用程序的假域名?
  • 我相信这是我机器的主机名。当我转到系统偏好设置并转到共享时,它显示:您本地网络上的计算机可以通过以下方式访问您的计算机:Firstname-Lastname-MacBook-Pro.local跨度>
  • 对不起,没有线索。但我会检查hostname 的输出并确保它与您放入start.php 文件中的输出相同。

标签: facebook laravel laravel-4 environment


【解决方案1】:

我认为您输入的本地计算机名称不正确。事实上,您已经输入了链接到您的机器的本地域名。

要知道您的机器名称,请打开终端并输入“@”符号后面的内容。您也可以从终端运行命令cat /etc/hostname

对于我来说,我有 aaugusti@DellAntoine,所以我将输入 DellAntoine 作为我的本地机器名称。

【讨论】:

  • 我在终端中没有看到任何“@”符号。每个命令行都有: Firstname-Lastname-MacBook-Pro:~ firstnamelastname$ 另外,当输入 cat /etc/hostname 时,我得到错误: cat: /etc/hostname: No such file or directory
  • 另外,输入“主机名”,我得到输出: Firstname-Lastnames-MacBook-Pro.local 我在 bootstrap/start.php 中设置为机器名
  • 我认为这里的问题是我需要执行 composer dump-autoload。执行自动加载后,似乎一切正常。
猜你喜欢
  • 1970-01-01
  • 2011-04-07
  • 1970-01-01
  • 2013-10-06
  • 1970-01-01
  • 2012-01-06
  • 2019-06-04
  • 1970-01-01
  • 2023-02-13
相关资源
最近更新 更多