| この記事の要点 |
|
基本
cd /path/to/project
php artisan serve
INFO Server running on [http://127.0.0.1:8000].
Press Ctrl+C to stop the server
ブラウザで http://127.0.0.1:8000 を開きます。プロジェクトのルート(artisan があるディレクトリ)で実行してください。別の場所だと Could not open input file: artisan になります。
よく使うオプション
| オプション | 意味 |
|---|---|
--port=8001 | ポートを変える(既定 8000) |
--host=0.0.0.0 | すべてのネットワークインターフェースで待ち受ける |
--host=192.168.1.10 | 特定の IP だけで待ち受ける |
--tries=10 | ポートが埋まっていたら +1 して再試行する回数 |
--no-reload | .env を変えても再起動しない |
php artisan serve --port=8001
php artisan serve --host=0.0.0.0 --port=8000 # 別端末から見る
php artisan serve --host=0.0.0.0 --tries=5
別の端末・スマホから開く
# 1. サーバーを全インターフェースで起動する
php artisan serve --host=0.0.0.0
# 2. 自分の IP アドレスを調べる
ipconfig # Windows
ip addr show # Linux
ifconfig # macOS
スマホのブラウザで http://192.168.1.10:8000 のように開きます。つながらない場合は次を確認してください。
- ファイアウォールがポート 8000 をふさいでいないか(Windows Defender は初回に確認を出します)
- 同じ Wi-Fi / LAN につながっているか
.envのAPP_URLを実際の URL に合わせる(リンクやアセットの URL 生成に使われる)
APP_URL=http://192.168.1.10:8000
ポートが使われているとき
Failed to listen on 127.0.0.1:8000 (reason: Address already in use)
# 使っているプロセスを調べる(Windows)
netstat -ano | findstr :8000
taskkill /PID 12345 /F
# Linux / macOS
lsof -i :8000
kill -9 12345
# 別のポートで起動する
php artisan serve --port=8001
前回 Ctrl + C で止め損ねたプロセスが残っているのが典型的な原因です。
フロントエンドのビルドも動かす
# ターミナル 1
php artisan serve
# ターミナル 2
npm run dev
Laravel 9 以降は Vite を使います。npm run dev を動かしていないと、@vite ディレクティブが次のエラーを出します。
Vite manifest not found at: /path/public/build/manifest.json
本番と同じ状態を確認したいときは npm run build で成果物を作ります。Laravel 11 以降なら composer run dev の 1 コマンドで、サーバー・キュー・ログ・Vite をまとめて起動できます。
他の起動方法
| 方法 | 特徴 |
|---|---|
php artisan serve | PHP 内蔵サーバー。追加インストール不要で最も手軽 |
Laravel Sail(./vendor/bin/sail up) | Docker。MySQL / Redis もまとめて動く |
| Laravel Herd | Mac / Windows 向け。.test ドメインで自動公開 |
| Valet(macOS) | ディレクトリを置くだけで公開される |
| Nginx + PHP-FPM | 本番はこれ |
本番で使ってはいけない理由
php artisan serve が使う PHP 内蔵 Web サーバーは、公式ドキュメントでも開発用と明記されています。
- 単一プロセスで動くため、1 つのリクエストが遅いと他が待たされる
- 静的ファイルの配信が遅く、キャッシュ制御も持たない
- HTTPS に対応していない
- 異常終了しても自動で再起動しない
本番は Nginx / Apache + PHP-FPM で公開し、ドキュメントルートを public/ ディレクトリに向けます。手順は 本番サーバーへのデプロイ方法 を参照してください。
うまく動かないとき
| 症状 | 対処 |
|---|---|
Could not open input file: artisan | プロジェクトのルートに cd する |
Address already in use | 残ったプロセスを止めるか --port を変える |
| 500 エラー・白画面 | storage/logs/laravel.log を見る |
No application encryption key | php artisan key:generate |
| 設定を変えたのに反映されない | php artisan config:clear(本番は config:cache を忘れずに) |
| ルートが 404 になる | php artisan route:list で登録を確認する |
storage の書き込みエラー | storage/ と bootstrap/cache/ の権限を確認する |
関連
子ページ
子ページはありません
同階層のページ
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38