現在、silex のチュートリアルを進めていますが、Composer で問題が発生しています。
silex サイトの標準的なチュートリアルから始めたところです。
<?php
require(__DIR__. '/../vendor/autoload.php');
$app = new Silex\Application();
$app->get('/hello/{name}', function ($name) use ($app) {
return $app->json(array('Hello' => $app->escape($name)) );
});
$app['debug'] = true;
$app->run();
私のローカル開発環境では、次のエラーが発生します。
Fatal error: Call to undefined method ComposerAutoloaderInitd7d23b5370abd20e3e13775fdd372b42::getLoader() in C:\wamp\www\webservices\vendor\autoload.php on line 7
しかし、別のマシン (Ubuntu 12.10、php 5.4.6、および Apache/2.2.22 を実行する Amazon EC2 インスタンス) で試したところ、期待どおりの動作が得られました。
ローカルの apache/php 設定に問題があると思います。
編集: Composer だけの問題ではありません。トロイ ウルフのclass_httpを使用しているときにも同じ動作に遭遇しました
また、奇妙さに加えて、Apacheが新たに初期化されてから数秒間は実際に正常に動作し、その後バラバラになります。