2013-04-27 141 views
9

刚刚使用Laravel 4第一次使用版本3几个项目后,但似乎无法让Artisan工作。我做了一堆搜索,并按照我能找到的故障排除步骤进行,但没有运气。Laravel 4工匠根本没有工作

  • 我有这个Mcrypt安装
  • 我没有引导/ compiled.php要删除的文件
  • 我有最新版本的框架从GitHub
  • 我在作曲的最新版本

当我尝试 “作曲家更新” 我得到这个错误:

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

...没有额外信息。

试图运行“PHP工匠列表”或任何其他工匠的命令只是给我没有输出。

任何想法?

+0

也许尝试优化命令[与--verbose选项](https://github.com/laravel/framework/issues/1050)?此外,您的PHP日志中的任何内容?你运行的是哪个版本的PHP? – halfer 2013-04-27 14:30:13

+0

没有与--verbose选项的运气。 PHP日志在哪里存储这样的东西,只是在本地运行?我习惯于检查服务器上的error_log文件,但不确定何时这样做。运行5.4.4 – ARW 2013-04-27 14:35:37

+0

它会在你的'php.ini'中配置,[见这里](http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log)。我没有使用Composer,但是我想知道它是否抑制了一些严重错误(例如它需要的PHP模块)。你有没有在控制台上检查Mcrypt的存在(从你的问题,我认为它需要),而不是Web服务器? – halfer 2013-04-27 14:39:38

回答

9

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

+1

接下来稍微介绍一下,只是想提一下,工匠默认情况下会登录到应用/存储/日志/日志文件夹-.txt。我拼错了依赖接口,并且所有的php错误都被传送到该文件。 – ontek 2013-05-22 18:48:30

2

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

一旦PHP与mb_regex_encoding重新编译,问题就消失了。

2

如果您遗漏了/bootstrap/start.php文件,您不会收到来自工匠和作曲家的有用错误消息,它们的响应方式相同。我四处奔波,试图找到我在网上找到的解决方案,最终发现这个文件丢失了。我替换它后立即重新联机。我发现这个文件在我的PHP错误日志中丢失,并且由于无法运行,工匠没有生成日志。

2

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

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

2

我得到这个问题,这是因为storage的子目录尚不存在。

当然,这些目录是由项目创建脚本创建的,但它们很容易脱离源代码管理,因此在新克隆的项目中会丢失。 .gitignore文件在那里是有原因的!

1

storage文件夹中的文件不能写入当前用户时,发生此问题。 php artisan默默失败,没有输出。更改权限帮助。