Laravel 4 Artisan根本不工作

时间:2013-04-27 14:17:32

标签: php laravel composer-php laravel-4

在使用版本3进行一些项目之后,第一次玩Laravel 4,但似乎无法让Artisan工作。我做了很多搜索,然后按照我能找到的故障排除步骤进行操作,但没有运气。

  • 我安装了Mcrypt
  • 我没有要删除的bootstrap / compiled.php文件
  • 我有来自Github的最新版本的框架
  • 我使用的是Composer的最新版本

当我尝试“composer update”时,我收到此错误:

Script php artisan optimize handling the post-update-cmd event returned with an error: 

......没有额外的信息。

尝试运行“php artisan list”或任何其他工匠命令只是根本没有输出。

有什么想法吗?

6 个答案:

答案 0 :(得分:9)

为了总结评论中的讨论,我们发现在php.ini级别添加日志记录会显示Composer控制台界面未报告的PHP错误。我想知道你是否以root身份安装了Composer,因此Laravel所需的一些关键文件对于非特权用户来说实际上是不可见的。

答案 1 :(得分:2)

运行phpinfo之后,我注意到“--disable-mbregex”是PHP配置的一部分,这意味着PHP没有使用mbregex扩展编译。我的错误日志显示“调用未定义的函数mb_regex_encoding”。

使用mb_regex_encoding重新编译PHP后,问题就消失了。

答案 2 :(得分:2)

如果您缺少/bootstrap/start.php文件,则不会从工匠和作曲家那里得到有用的错误消息。我四处寻找我在网上找到的解决方案并最终发现这个文件丢失了。我一更换它就回到了网上。我发现我的PHP错误日志中缺少此文件,并且由于无法运行,工匠没有生成日志。

答案 3 :(得分:2)

我有类似的问题。即使命令$ php artisan --verson也不会产生任何输出。事实证明,我在app/start/global.php下有一些代码在CLI执行下打破了(但没有在网络上破坏)。

这是另一个检查东西的地方! (app/start/global.php

答案 4 :(得分:2)

我遇到了这个问题,原因是storage的子目录尚不存在。

当然,这些目录是由项目创建脚本创建的,但是它们很容易被排除在源代码控制之外,因此在新克隆的项目中会丢失。 .gitignore文件存在于其中,原因就在于它!

答案 5 :(得分:1)

storage文件夹中的文件无法为当前用户写入时,我遇到此问题。 php artisan默默地失败,没有输出。更改权限有帮助。