以下是我得到的错误:

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

[RuntimeException]  
Error Output:

update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [packages1] ... [packagesN]

这表明:

Writing lock file
Generating autoload files

我试图删除供应商文件夹中的所有文件夹.但这并没有改变任何事情.

我在Mac OS X上使用MAMP服务器.

PHP版本5.4.10

mcrypt 2.5.8

我刚刚try 了"sudo composer update--verbose",结果出现了以下错误:

sudo composer update --verbose
Password:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Generating autoload files
Script php artisan optimize handling the post-update-cmd event returned with an error

  [RuntimeException]  
  Error Output:
    Exception trace:
     () at phar:///usr/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:148
     Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///usr/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:107
 Composer\EventDispatcher\EventDispatcher->dispatchCommandEvent() at phar:///usr/bin/composer/src/Composer/Installer.php:289
 Composer\Installer->run() at phar:///usr/bin/composer/src/Composer/Command/UpdateCommand.php:118
 Composer\Command\UpdateCommand->execute() at phar:///usr/bin/composer/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:244
 Symfony\Component\Console\Command\Command->run() at phar:///usr/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:897
 Symfony\Component\Console\Application->doRunCommand() at phar:///usr/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:191
 Symfony\Component\Console\Application->doRun() at phar:///usr/bin/composer/src/Composer/Console/Application.php:117
 Composer\Console\Application->doRun() at phar:///usr/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:121
 Symfony\Component\Console\Application->run() at phar:///usr/bin/composer/src/Composer/Console/Application.php:83
 Composer\Console\Application->run() at phar:///usr/bin/composer/bin/composer:43
 require() at /usr/bin/composer:15

以下是我在PHP错误日志(log)中发现的错误:

[04-Nov-2013 20:45:44 Europe/Berlin] PHP Fatal error:  Class 'Patchwork\Utf8\Bootup' not found in /Applications/MAMP/htdocs/-----/bootstrap/autoload.php on line 46

我只是试着测试我的composer :

sudo composer diagnose
Password:
Checking platform settings: OK
Checking http connectivity: OK
Checking composer.json: FAIL
No license specified, it is recommended to do so. For closed-source software you may use "proprietary" as license.
Name "andrew13/Laravel-4-Bootstrap-Starter-Site" does not match the best practice (e.g. lower-cased/with-dashes). We suggest using "andrew13/laravel-4-bootstrap-starter-site" instead. As such you will not be able to submit it to Packagist.
Checking disk free space: OK
Checking composer version: OK

刚刚在上一个命令的错误消息中应用了建议.现在一切都很好.

我刚试过这个:

curl -sS https://getcomposer.org/installer | php -- --check
#!/usr/bin/env php
All settings correct for using Composer

现在,我的PHP错误日志(log)中出现了新错误:

[05-Nov-2013 05:45:45 Europe/Berlin] PHP Fatal error:  Uncaught exception 'ReflectionException' with message 'Class config does not exist' in /Applications/MAMP/htdocs/---/bootstrap/compiled.php:165
Stack trace:
#0 /Applications/MAMP/htdocs/---/bootstrap/compiled.php(165): ReflectionClass->__construct('config')
#1 /Applications/MAMP/htdocs/---/bootstrap/compiled.php(142): Illuminate\Container\Container->build('config', Array)
#2 /Applications/MAMP/htdocs/---/bootstrap/compiled.php(444): Illuminate\Container\Container->make('config', Array)
#3 /Applications/MAMP/htdocs/---/bootstrap/compiled.php(233): Illuminate\Foundation\Application->make('config')
#4 /Applications/MAMP/htdocs/---/bootstrap/compiled.php(3151): Illuminate\Container\Container->offsetGet('config')
#5 /Applications/MAMP/htdocs/---/bootstrap/compiled.php(103): Illuminate\Exception\ExceptionServiceProvider->Illuminate\Exception\{closure}(Object(Illuminate\Foundation\Application))
#6 /Applications/MAMP/htdocs/---/bootstrap/compiled.php(163): Illuminate\Container\Container->Illum in /Applications/MAMP/htdocs/---/bootstrap/compiled.php on line 165

推荐答案

我相信这个错误是因为找不到mcrypt个.

脚本php artisan optimize处理返回错误的更新后cmd事件

显然,安装mcrypt并不那么容易.

  1. 安装php5-mcrypt软件包,或验证其安装是否正确.

    sudo apt-get install php5-mcrypt
    
  2. 判断是否为PHP安装并启用了mcrypt:

    php --ri mcrypt
    
  3. 如果上面写着:

    mcrypt support => enabled
    

    否则,如果它说:

    Extension 'mcrypt' not present.
    
  4. 验证PHP的mods-available目录中是否存在mcrypt.ini.

    ls /etc/php5/mods-available/mcrypt.ini
    
  5. 如果显示为No such file or directory,则创建一个从mcrypt.ini到PHP的mods-available目录的符号链接.

    sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
    
  6. 启用mod.

    sudo php5enmod mcrypt
    
  7. 重启apache.

    sudo service apache2 restart
    
  8. 再次判断mcrypt是否已启用.

    php --ri mcrypt
    

最后一步的灵感来自Vuk Stanković.

Laravel相关问答推荐

Laravel本地化错误:"setlocale():参数#1($category)的类型必须是int,给定的是Illuminate\Http\Request"

如何在 Laravel 中使用多对一变形关系

LARVAL SAVE 中的关系有

导出所有客户端不起作用,文件保存时没有名称和扩展名

Laravel:使用 Input::old 时 textarea 不会重新填充

覆盖 HTTP 标头的默认设置 (X-FRAME-OPTIONS)

Laravel 5 日志(log)中的最大文件数

localhost 和stream_socket_enable_crypto():SSL 操作失败,代码为 1

路由模型绑定不起作用

你如何在自定义 Laravel Nova 工具中使用确认对话?

eloquent的搜索/自定义属性的位置

Laravel 5 - Php artisan语法错误

如何在 Laravel 5 中验证当前、新密码和新密码确认?

Laravel:验证 json 对象

我在哪里放置可以显示 Flash 消息的 Laravel 4 辅助函数?

Laravel 如何从子域 URL 中删除api前缀

Laravel 用户能力

日期时间格式无效:1366 字符串值不正确

Laravel 更新查询

Laravel如何仅响应没有正文消息的204代码状态