質問: Composerのオートローダーを利用したいと思い composer.jsonに下記名前空間を追加 ``` "autoload":{ "psr-4":{ "YCom\\": "vendor/ydbs/ycommon" } } ``` composer updateでは Generating autoload files と出て更新されているように思えます project/vendor/ydbs/ycommonは実際のディレクトリとして存在します。 project/vendor/ydbs/ydbssub/test.phpファイル内で下記コードで呼び出すとここで落ちている様子。後のecho分さえ実行されていません。 ``` require_once __DIR__ . "/../../vendor/autoload.php"; echo 'こんにちは'; ``` ディレクトリ構造いついては autolod.php他composer.jsonなど既定パスにあります project/vender/autoload.php 中身は
回答: ``` require_once __DIR__ . "/../../vendor/autoload.php"; ``` このパスがおかしいのでは。 パスの最初が「/」になっていると、それはサーバ側のルート(最上位)パスを意味します。 その後の「../」は「ひとつ上の階層」となるので、このパスの指定では 「最上階の上の階の上の階の下にあるvendorの下のautoload」 となり、「最上階の上の階」の時点でおかしなことになっています。 このパスを「/var/www/vendor/autoload.php」等、絶対パスで記述するか、「../../vendor/autoload.php」など、正常なパスで記述してください。