この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:9
ページ更新者:atom
更新日時:2026-06-11 07:12:00

タイトル: コマンド一覧
SEOタイトル: Laravel Artisan コマンド一覧完全リファレンス

この記事の要点
  • php artisan list で全コマンド表示、php artisan help <cmd> で詳細
  • make: 系で controller / model / migration / seeder / factory / request / policy / middleware / job / event / listener を生成
  • DB 系migrate / migrate:rollback / migrate:fresh / db:seed
  • cache 系cache:clear / config:clear / view:clear / route:clear / optimize:clear
  • tinker で REPL、route:list で全ルート、serve で開発サーバ

Artisan とは

Laravel に同梱されているコマンドラインインターフェース。プロジェクトルートで php artisan を実行すると全コマンドが一覧されます。

php artisan list                  # 全コマンド一覧
php artisan help make:controller  # 特定コマンドのヘルプ
php artisan --version             # Laravel バージョン
php artisan about                 # 環境情報 (Laravel 9+)

make: 系コマンド (生成)

コマンド生成物主オプション
make:controller Fooapp/Http/Controllers/FooController.php--resource / --api / --invokable
make:model Postapp/Models/Post.php-mfsc (migration/factory/seeder/controller 全部)
make:migration create_posts_tabledatabase/migrations/...--create=posts / --table=posts
make:seeder PostSeederdatabase/seeders/PostSeeder.php-
make:factory PostFactorydatabase/factories/PostFactory.php--model=Post
make:request PostStoreRequestapp/Http/Requests/...-
make:policy PostPolicyapp/Policies/PostPolicy.php--model=Post
make:middleware CheckAgeapp/Http/Middleware/...-
make:command BackupDbapp/Console/Commands/...-
make:job ProcessPodcastapp/Jobs/ProcessPodcast.php--sync
make:event OrderShippedapp/Events/OrderShipped.php-
make:listener SendShipmentNotificationapp/Listeners/...--event=OrderShipped
make:resource PostResourceapp/Http/Resources/...--collection
make:test PostTesttests/Feature/PostTest.php--unit / --pest
make:mail OrderShippedapp/Mail/OrderShipped.php-
make:notification InvoicePaidapp/Notifications/...-
make:rule Uppercaseapp/Rules/Uppercase.php-
make:provider RouteServiceProviderapp/Providers/...-

マルチオプション例

# Post モデル + マイグレーション + ファクトリ + シーダ + リソースコントローラ + Form Request を一度に
php artisan make:model Post -mfscR --requests

# api 用リソースコントローラ
php artisan make:controller Api/PostController --api --model=Post

DB / マイグレーション系

php artisan migrate                  # 未実行のマイグレーションを実行
php artisan migrate --force          # 本番でも強制実行
php artisan migrate:status           # マイグレーション状態
php artisan migrate:rollback         # 直近のバッチを巻き戻す
php artisan migrate:rollback --step=3
php artisan migrate:reset            # 全マイグレーションを巻き戻す
php artisan migrate:refresh          # reset + migrate
php artisan migrate:fresh            # 全テーブル drop + migrate (高速)
php artisan migrate:fresh --seed     # + seed も実行

php artisan db:seed                  # DatabaseSeeder 実行
php artisan db:seed --class=PostSeeder
php artisan db:wipe                  # 全テーブル削除 (危険)
php artisan db:show                  # DB 接続情報
php artisan db:table users           # テーブル構造

キャッシュ / 最適化系

# 個別クリア
php artisan cache:clear              # アプリキャッシュ (Cache::)
php artisan config:clear             # config キャッシュ
php artisan route:clear              # route キャッシュ
php artisan view:clear               # コンパイル済 Blade
php artisan event:clear              # イベントキャッシュ

# 全部まとめてクリア (本番デプロイで重宝)
php artisan optimize:clear

# 本番用キャッシュ構築
php artisan config:cache             # config を 1ファイルに
php artisan route:cache              # ルートを 1ファイルに (closure 不可)
php artisan view:cache               # 全 Blade を事前コンパイル
php artisan event:cache              # イベントキャッシュ
php artisan optimize                 # config + route + event をまとめてキャッシュ

Queue / Schedule

php artisan queue:work               # ワーカー起動 (常駐)
php artisan queue:work --queue=high,default --tries=3 --timeout=120
php artisan queue:listen             # 開発用 (毎回プロセス起動)
php artisan queue:restart            # ワーカーに graceful 停止シグナル
php artisan queue:retry all          # 失敗ジョブ全リトライ
php artisan queue:failed             # 失敗ジョブ一覧
php artisan queue:flush              # 失敗ジョブ削除
php artisan queue:table              # jobs テーブル用 migration 生成

php artisan schedule:run             # cron から毎分呼ぶ
php artisan schedule:work            # 開発用 (フォアグラウンド常駐)
php artisan schedule:list            # 登録済スケジュール一覧
php artisan schedule:test            # 任意タスクを手動実行

その他よく使う

php artisan serve                       # 開発サーバ (http://127.0.0.1:8000)
php artisan serve --host=0.0.0.0 --port=8080

php artisan tinker                      # REPL (Eloquent / DB 試打)
php artisan tinker --execute=&quot;User::count()&quot;

php artisan route:list                  # 全ルート一覧
php artisan route:list --path=api       # フィルタ
php artisan route:list --except-vendor   # ベンダー除外

php artisan storage:link                # public/storage を storage/app/public へリンク
php artisan key:generate                # APP_KEY を生成 (初回必須)
php artisan down / up                   # メンテナンスモード
php artisan env                         # 現在の環境名
php artisan inspire                     # 名言 (息抜き)
php artisan vendor:publish              # パッケージのアセット公開
php artisan auth:make                   # 認証 scaffold (古い laravel/ui)

カスタムコマンド作成例

php artisan make:command BackupDatabase
// app/Console/Commands/BackupDatabase.php
class BackupDatabase extends Command
{
    protected $signature = 'backup:db {--gzip : 圧縮する}';
    protected $description = 'DB を dump して S3 にアップロード';

    public function handle(): int
    {
        $this->info('バックアップ開始');
        $file = '/tmp/backup-' . date('Ymd-His') . '.sql';
        exec("mysqldump ... > $file");
        if ($this->option('gzip')) {
            exec("gzip $file");
            $file .= '.gz';
        }
        // S3 アップロード ...
        $this->info("完了: $file");
        return Command::SUCCESS;
    }
}
# 実行
php artisan backup:db --gzip

FAQ

Q: 本番でキャッシュを構築するベストプラクティスは?
A: composer install --no-dev --optimize-autoloaderphp artisan optimizephp artisan view:cache。デプロイスクリプトに含める。

Q: route:cache すると closure が動かない
A: route:cache はコントローラ参照のみ対応。Route::get("/", fn() => ...)HomeController に移すか route:cache を諦める。

Q: artisan が動かない (Class not found)
A: composer dump-autoload を実行。namespace / クラス名のタイポも確認。