Artisan要求我进入Laravel根目录吗?

时间:2014-01-08 22:17:00

标签: laravel laravel-4

对我来说我只能执行artisan如果我在Laravel(4.1)项目的根目录中,它在我看来(从查看来源)代码)这是设计的,而不是我在安装东西时犯了一些错误的副产品。

例如,我将artisan复制到我的~/bin,但当然它在整个地方都使用了__DIR__,所以它抱怨找不到像{{1}这样的内容}}

这是对的吗?我是否必须始终只是为了执行~/bin/bootstrap/autoload.php命令而转到项目根目录?或者我错过了什么?

2 个答案:

答案 0 :(得分:4)

你必须从你的项目根运行工匠,但你可以在任何你喜欢的地方。

你可以这样做:

#/tmp> php /var/www/project/artisan migrate 

但不是

#/var/www/project/artisan> php /bin/artisan migrate

如果您有2个项目,它怎么知道它应该从哪个项目运行?

我已经构建了这个小应用程序:https://github.com/antonioribeiro/artisan-anywhere

这对你有所帮助。您可以在项目文件夹中的任何位置,仍然使用工匠。所以你将能够:

#/var/www/project/artisan/public/assets/css> artisan migrate

答案 1 :(得分:1)

你不能在laravel应用程序之外调用工匠,因为它依赖于他的一些文件来运行..

第一个解决方案:创建别名

您可以在.bashrc文件中添加别名,如alias artisan='php /project_folder/artisan'

第二个解决方案:创建符号链接

$ chmod +x /project_folder/artisan(让它可执行)

$ sudo ln -s /project_folder/artisan /usr/bin/artisan

然后输入artisan