背景: 自分のクローン ( https://github.com/outofcontrol/Laravel4-Vagrant/tree/vmware64 ) を使用して、VirtualBox を備えた完全に機能する Laravel VM をエラーなしで起動できます。クローンのわずかに変更されたバージョンを使用して ( https://github.com/outofcontrol/Laravel4-Vagrant/tree/vmware64 vagrant ファイルで VM Box のみをチェーンし、COMPOSER_HOME=/home/vagrant を /etc/environment に追加します。本来は警告) 奇妙なエラーが発生します。
VMware ボックスをダウンロードしてインストールし、「vagrant ssh」経由でアクセスできます。すべてのモジュールは laravel_app まで実行されます。「sudo composer update」をボックスから直接手動で実行するか、Vagrant/Puppet で実行するかに関係なく、次のエラーが発生します。
$ sudo composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Generating autoload files
PHP Parse error: syntax error, unexpected end of file in /var/www/vendor/laravel/framework/src/Illuminate/Support/helpers.php on line 954
PHP Stack trace:
PHP 1. {main}() /var/www/artisan:0
PHP 2. require() /var/www/artisan:16
PHP 3. require() /var/www/bootstrap/autoload.php:17
PHP 4. ComposerAutoloaderInitc631e523d6ab3652395fbd23aa1064ba::getLoader() /var/www/vendor/autoload.php:7
Script php artisan clear-compiled handling the post-update-cmd event returned with an error
[RuntimeException]
Error Output: PHP Parse error: syntax error, unexpected end of file in /var/www/vendor/laravel/framework/src/Illuminate/Support/helpers.php on line 954
PHP Stack trace:
PHP 1. {main}() /var/www/artisan:0
PHP 2. require() /var/www/artisan:16
PHP 3. require() /var/www/bootstrap/autoload.php:17
PHP 4. ComposerAutoloaderInitc631e523d6ab3652395fbd23aa1064ba::getLoader() /var/www/vendor/autoload.php:7
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]
過去数時間、/var/www に chmod 777 を設定する、一時的な問題が発生した場合に再起動する、apt-get update を手動で実行する、apt-get upgrade を実行する、たくさんのグーグルを実行するなど、いくつかの可能な修正を試みました。
Helper.php ファイルが、動作中の VirtualBox VM と VMware VM で同一であることを確認しました。
Software versions on Virtualbox:
PHP 5.5.5-1+debphp.org~precise+2
Puppet v2.7.19
Software versions on VMware:
PHP 5.5.5-1+debphp.org~precise+2
Puppet v3.0.2
当初は、別のバージョンのパペットが問題を引き起こす可能性があると考えていましたが、手動で実行すると同じエラーが発生し、少し迷ってしまいました。次に何を試すかについて誰か提案がありますか?
編集: 当初、この問題は Vagrant または Puppet に関連していると考えていました。さらなるテストでは、VM マシンを VMware にマウントし、Laravel を手動でインストールしてインストールしようとすると、同じエラーが発生することが示されています。