Php 尝试以开发模式迁移
我试图弄清楚如何在我的Laravel应用程序中将我的环境设置为开发模式 bootstrap/start.phpPhp 尝试以开发模式迁移,php,laravel,environment-variables,Php,Laravel,Environment Variables,我试图弄清楚如何在我的Laravel应用程序中将我的环境设置为开发模式 bootstrap/start.php $env = $app->detectEnvironment(array( 'development' => array('blog.app'), 'production' => array('') )); 在我的routes文件中,我有以下内容: Route::get('/', function() { dd(App::environm
$env = $app->detectEnvironment(array(
'development' => array('blog.app'),
'production' => array('')
));
在我的routes文件中,我有以下内容:
Route::get('/', function()
{
dd(App::environment());
});
当我去blog.app的时候,它说它将投入生产,我不知道为什么。弄清楚为什么它给了我生产而不是开发,是因为我试图运行命令“php artisan migrate”,它给了我以下信息
My-iMac:blog my$ php artisan migrate
**************************************
* Application In Production! *
**************************************
Do you really wish to run this command?
所以我需要帮助理解为什么在我尝试进入开发模式时,它仍然说应用程序处于生产模式。您需要找出您的机器名称。为此,请在任意位置运行此代码:
echo gethostname();
exit;
有关该功能的更多信息:
它将输出您的机器名,然后您需要将其粘贴到“development”数组中。进入项目目录。然后导航到bootstrap/start.php 使用您的计算机名编辑
$app->detectEnvironment
中指定的本地数组
Laravel每次都会自动检查您的机器名,并知道这是一个本地环境,然后改用本地配置文件。要使用本地配置文件,您可以导航到app/config/local并在那里编辑文件。app/config中的文件属于生产环境。您可以将这些文件复制到本地文件夹中,然后进行相应的编辑,例如,您的本地计算机和服务器上的数据库配置可能会有所不同
您只需编辑配置文件夹中的文件,Laravel将根据start.php中的数组自动检测环境,并使用与您正在工作的机器相关的配置文件。您还可以指定更多环境并在start.php文件中创建它们的条目,然后在app/config文件夹中创建同名文件夹,并在该文件夹中为该环境创建配置文件
示例:如果您想要有两个本地环境,可以编辑start.php文件,如下所示
$env = $app->detectEnvironment(array(
'local' => array('Machine1', 'Machine2'),.
'local2' => array('Machine3', 'Machine4'),
));
然后导航到app/config文件夹,创建两个文件夹,如local和local2,并为每个文件夹创建单独的文件。现在,名称为Machine1和Machine2的计算机将自动使用本地文件夹中的配置文件,Machine3和Machine4将使用local2文件夹中的配置文件。这样,Laravel在设置环境时提供了极大的灵活性
有关更多信息,请查看Laracasts的插曲