Luc*_*fim 8 php laravel laravel-3
我正在寻找使用Laravel3设置多环境项目,但我不理解设置环境的命令.
我在这里看到:http://laravel.com/docs/artisan/commands 命令是:
php artisan foo --env=local
Run Code Online (Sandbox Code Playgroud)
我已经成功地使用了工匠和bob,我不能承担foo,我尝试改变我的项目名称,但总是输出相同的结果:"抱歉,我找不到那个任务."
如果我尝试:php artisan --env = local
这将返回:"你忘了提供任务名称."
有人可以帮忙吗?谢谢你的时间.
[编辑]现在有了答案,我可以更好地理解并改进我的问题:
我有一个创建了这些文件夹的项目:http://d.pr/i/5nZS考虑 到这一点,我需要将我的本地环境设置为开发和生产作为生产.所以,我可以用命令"php artisan --env = local"的任何变体来做到这一点,或者我需要添加我的public/.htaccess"SetEnv LARAVEL_ENV开发"?
再次感谢.
Wil*_*ley 11
"Foo"是您想要运行的任何命令.例如,迁移:
php artisan migrate --env=local
Run Code Online (Sandbox Code Playgroud)
您可以做的另一件事是将计算机主机名添加到此阵列
例如,如果我的本地计算机名称是'Effinity.local',我可以这样做
$environments = array(
'local' => array('http://localhost*', 'Effinity.local'),
);
Run Code Online (Sandbox Code Playgroud)
然后您不需要指定环境,只需:
php artisan migrate
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.
在这里,我是如何解决我的问题的:
首先,我不需要命令php artisan migrate --env=local,我只需要在我的虚拟主机上设置:SetEnv LARAVEL_ENV development。
其次,正如 William Cahill-Manley 所说,我需要处理 application/paths.php,即 $environments。我以前也用过,但是方法不对。就我而言,我解决了这个问题:
$environments = array(
'development' => array('http://localhost/project*', '*project/*'),
'production' => array('http://project.com', 'http://*.project.com')
);
Run Code Online (Sandbox Code Playgroud)
我的问题是因为我之前的代码是这样的:
$environments = array(
'development' => array('http://localhost/project*', '*project*'),
'production' => array('http://project.com', 'http://*.project.com')
);
Run Code Online (Sandbox Code Playgroud)
并且因为开发数组的第二个元素,在生产服务器中始终会处于开发中。那是因为开发上的 url 是http://project/,生产上的 url 是http://project.com/或http://user.project.com/
看,该项目将强制在所有环境中通过星号/通配符进行开发。
| 归档时间: |
|
| 查看次数: |
17291 次 |
| 最近记录: |