LaravelのインストールディレクトリとURLを変更する
Laravelではpublic以外の全てのファイルとフォルダをweb rootではない場所に置くことが推奨されている。インストールにはこんなことが書いてある。
Laravelでは公開する必要があるファイルはpublicフォルダーに設置し、アプリケーションのコードとストレージを保護するように設計されています。publicフォルダーをサイトのドキュメントルート(もしくはWebルートとも呼ばれます)として設定するか、publicの中身をサイトのルートディレクトリーに設置し、Laravelの他の全ファイルをWebルート外へ置くことを推奨します。
私の場合は以下のようにフォルダ&ファイル移動することにした。
- public以下のファイルを全て「C:\xampp\htdocs」直下に置く。publicを使わない。
- Laravelの本体フォルダは「C:\xampp」直下に置く。
置いた後に「http://localhost/index.php」にアクセスすると、こんなエラーメッセージが出た。
Warning: require(C:\xampp\htdocs/../bootstrap/autoload.php): failed to open stream: No such file or directory in C:\xampp\htdocs\index.php on line 21 Fatal error: require(): Failed opening required 'C:\xampp\htdocs/../bootstrap/autoload.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\index.php on line 21
そりゃそうだ。index.phpに記述されているパスを変更しなくてわ。私の環境の場合は「C:\xampp」直下に「laravel」という本体フォルダがあるので、下記のようにパスに「laravel」を追記した。
|-------------------------------------------------------------------------- | Register The Auto Loader |-------------------------------------------------------------------------- | | Composer provides a convenient, automatically generated class loader | for our application. We just need to utilize it! We'll require it | into the script here so that we do not have to worry about the | loading of any our classes "manually". Feels great to relax. | */ require __DIR__.'/../laravel/bootstrap/autoload.php'; /* |-------------------------------------------------------------------------- | Turn On The Lights |-------------------------------------------------------------------------- | | We need to illuminate PHP development, so let's turn on the lights. | This bootstraps the framework and gets it ready for use, then it | will load up this application so that we can run it and send | the responses back to the browser and delight these users. | */ $app = require_once __DIR__.'/../laravel/bootstrap/start.php';
これで「http://localhost/index.php」でLaravelが動くようになった。
でもシンボリックリンクのほうがオススメ→Laravelとシンボリックリンク - ふたりはララベル (Laravel PHP Framework)