在使用版本3进行一些项目之后,第一次玩Laravel 4,但似乎无法让Artisan工作 . 我已经做了很多搜索,并按照我能找到的故障排除步骤但没有运气 .
-
我安装了Mcrypt
-
我没有要删除的bootstrap / compiled.php文件
-
我有来自Github的最新版本的框架
-
我使用的是Composer的最新版本
当我尝试“作曲家更新”时,我收到此错误:
Script php artisan optimize handling the post-update-cmd event returned with an error:
......没有额外的信息 .
试图运行“php artisan list”或任何其他工匠命令只是让我没有输出 .
有任何想法吗?
6 回答
为了总结评论中的讨论,我们发现在
php.ini
级别添加日志记录显示了Composer控制台界面未报告的PHP错误 . 我想知道你是否以root身份安装了Composer,因此Laravel所需的一些关键文件对于非特权用户来说实际上是不可见的 .在运行phpinfo之后,我注意到“--disable-mbregex”是PHP配置的一部分,这意味着PHP没有使用mbregex扩展编译 . 我的错误日志显示“调用未定义的函数mb_regex_encoding” .
用mb_regex_encoding重新编译PHP后,问题就消失了 .
如果您缺少/bootstrap/start.php文件,则不会从工匠和作曲家那里得到有用的错误消息 . 我四处寻找我在网上找到的解决方案并最终发现这个文件丢失了 . 我一更换它就回到了网上 . 我发现我的PHP错误日志中缺少此文件,并且工匠没有生成日志,因为它无法运行 .
我遇到了类似的问题 . 即使命令
$ php artisan --verson
也不会产生任何输出 . 原来,我在app/start/global.php
下有一些代码在CLI执行下打破了(但在网络方面没有破坏) .这是另一个检查东西的地方! (
app/start/global.php
)我遇到了这个问题,这是因为storage的子目录尚未存在 .
当然,这些目录是由项目创建脚本创建的,但它们很容易被排除在源代码控制之外,因此在新克隆的项目中将会丢失 .
.gitignore
文件在那里是有原因的!当
storage
文件夹中的文件无法为当前用户写入时,我遇到此问题 .php artisan
无声地失败,没有输出 . 更改权限有帮助 .