Rumah pembangunan bahagian belakang tutorial php Apa yang Berlaku Apabila Anda Menjalankan 'php artisan serve' dalam Laravel?

Apa yang Berlaku Apabila Anda Menjalankan 'php artisan serve' dalam Laravel?

Dec 05, 2024 pm 06:50 PM

What Happens When You Run “php artisan serve” in Laravel?

Laravel ialah salah satu rangka kerja PHP yang paling popular, menjadikan pembangunan web cekap dan menyeronokkan. Sebagai pembangun, anda mungkin telah menggunakan perintah php artisan serve untuk memulakan pelayan pembangunan setempat dengan cepat. Tetapi pernahkah anda terfikir apa yang berlaku di sebalik tabir apabila anda menjalankan arahan ini? Mari kita terokai perkara ini secara terperinci, langkah demi langkah, fahami cara Laravel mengenal pasti dan menjalankan ServeCommand, serta menyelami apakah pelayan terbina dalam PHP dan bagaimana ia dibandingkan dengan pelayan web tradisional seperti Nginx atau Apache.

Apakah php artisan serve?

Perintah php artisan serve ialah ciri Laravel yang memulakan pelayan web tempatan untuk projek anda. Ia menggunakan pelayan terbina dalam PHP untuk menjadikan aplikasi Laravel anda boleh diakses pada alamat tertentu (cth., http://127.0.0.1:8000) semasa pembangunan.

Arahan ini amat berguna untuk pembangunan tempatan kerana ia tidak memerlukan penyediaan pelayan web lengkap seperti Nginx atau Apache.

Proses Langkah demi Langkah: Apa yang Berlaku Apabila Anda Menjalankan php artisan serve?

1. Pengguna Menjalankan Perintah
Apabila anda menaip php artisan serve dalam terminal, Laravel's Artisan Console alat baris arahan untuk Laravel, mula bertindak. Ia seperti kotak alat dengan pelbagai arahan untuk membantu membina, menguji dan menjalankan aplikasi Laravel.

2. Titik Kemasukan Artisan

  • Fail artisan dalam direktori akar projek anda bertindak sebagai titik masuk untuk semua arahan Artisan.
  • Apabila anda menjalankan php artisan serve, fail artisan melakukan perkara berikut:
  1. Termasuk autoloader Komposer (vendor/autoload.php).
  2. Bootstraps rangka kerja Laravel menggunakan bootstrap/app.php.

3. Artisan Mencari ServeCommand

  • Laravel mendaftarkan semua arahan Artisan apabila aplikasi but. Untuk arahan terbina dalam seperti servis, Laravel mendaftarkannya dalam IlluminateFoundationProvidersArtisanServiceProvider.
  • Pembekal ini memetakan nama perintah (serve) ke kelasnya yang sepadan (IlluminateFoundationConsoleServeCommand).

4. Resolusi Perintah dan Autoloading

  • Perintah Serve terletak dalam direktori vendor/laravel/rangka kerja di bawah ruang nama IlluminateFoundationConsole.
  • Laravel menggunakan konfigurasi pemuatan auto PSR-4 Komposer untuk mencari dan memuatkan kelas.
  • Ini membolehkan kelas ServeCommand dimuatkan tanpa rangka kerja Laravel penuh dimulakan sepenuhnya.

5. Menyediakan Pelayan

  • ServeCommand mengkonfigurasi pelayan terbina dalam PHP:
  • Hos: Lalai ialah 127.0.0.1 (hos tempatan).
  • Port: Lalai ialah 8000 (atau yang tersuai melalui pilihan --port).
  • Document Root: Menuding ke direktori awam di mana fail masukan Laravel (index.php) berada.
  • Secara dalaman, arahan melaksanakan:
php -S 127.0.0.1:8000 -t public server.php
Salin selepas log masuk
  • php -S Memulakan pelayan terbina dalam PHP.
  • -t public Menentukan akar dokumen.
  • server.php: Fail penghala untuk mengendalikan permintaan dinamik.

6. Mengendalikan Permintaan

  • Fail server.php bertindak sebagai penghala:
  • Jika fail yang diminta (cth., CSS, JS) wujud, ia dihidangkan terus.
  • Jika tidak, permintaan dimajukan ke index.php.

7. Laravel Memproses Permintaan

  • Fail index.php memulakan rangka kerja Laravel dan mengendalikan permintaan HTTP masuk.
  • Ia mengarahkan permintaan kepada pengawal yang sesuai, memproses logik dan menjana respons (cth., HTML atau JSON).

8. Maklum Balas Dihantar Balik

Respons Laravel dihantar semula ke pelayan terbina dalam PHP, yang kemudiannya menghantarnya ke penyemak imbas.

Apakah Pelayan Terbina Dalam PHP?

Pelayan terbina dalam PHP ialah pelayan pembangunan mudah yang diperkenalkan dalam PHP 5.4. Ia direka untuk membantu pembangun menguji aplikasi tanpa perlu memasang atau mengkonfigurasi pelayan web penuh.

Ciri-ciri Pelayan Terbina Dalam PHP:

  • Kemudahan Penggunaan: Mulakannya dengan satu arahan (php -S).
  • Fail Dinamik dan Statik: Menyediakan kedua-dua skrip PHP dan fail statik seperti imej atau helaian gaya.
  • Penghalaan Tersuai: Membenarkan pengendalian permintaan tersuai melalui skrip penghala (seperti pelayan Laravel.php).

Perbandingan: Pelayan Terbina Dalam PHP lwn Nginx/Apache

  • Tujuan: Pelayan Terbina Dalam PHP adalah Untuk tujuan Pembangunan sahaja. Nginx/Apache adalah untuk Sedia Pengeluaran dan pembangunan.
  • Prestasi: Pelayan terbina dalam PHP adalah Single-threaded (satu permintaan pada satu masa) dan Nginx/Apache adalah Multi-threaded (mengendalikan banyak permintaan secara serentak)
  • Konfigurasi: Pelayan terbina dalam PHP memerlukan persediaan minimum. nginx/Apache memerlukan fail konfigurasi.
  • Ciri Terperinci: Pelayan terbina dalam PHP adalah Terhad (cth., tiada caching). Nignx/Apache boleh digunakan untuk Caching, pengimbangan beban dan banyak lagi.

Walaupun persediaan ini mudah, ia hanya bertujuan untuk pembangunan. Untuk aplikasi langsung, pelayan web seperti Nginx atau Apache menyediakan skalabiliti dan prestasi yang diperlukan untuk mengendalikan trafik pengeluaran.

P.S. Ia sentiasa menarik minat saya untuk mengetahui cara kerja di sebalik tabir. Ini membantu saya memahami perkara yang sebenarnya berlaku apabila saya membina aplikasi. Anda boleh membaca artikel saya yang lain.

Atas ialah kandungan terperinci Apa yang Berlaku Apabila Anda Menjalankan 'php artisan serve' dalam Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

11 skrip pemendek URL terbaik PHP (percuma dan premium) 11 skrip pemendek URL terbaik PHP (percuma dan premium) Mar 03, 2025 am 10:49 AM

11 skrip pemendek URL terbaik PHP (percuma dan premium)

Pengenalan kepada API Instagram Pengenalan kepada API Instagram Mar 02, 2025 am 09:32 AM

Pengenalan kepada API Instagram

Bekerja dengan Data Sesi Flash di Laravel Bekerja dengan Data Sesi Flash di Laravel Mar 12, 2025 pm 05:08 PM

Bekerja dengan Data Sesi Flash di Laravel

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React Mar 04, 2025 am 09:33 AM

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React

Respons HTTP yang dipermudahkan dalam ujian Laravel Respons HTTP yang dipermudahkan dalam ujian Laravel Mar 12, 2025 pm 05:09 PM

Respons HTTP yang dipermudahkan dalam ujian Laravel

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Mar 14, 2025 am 11:42 AM

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST

12 skrip sembang php terbaik di codecanyon 12 skrip sembang php terbaik di codecanyon Mar 13, 2025 pm 12:08 PM

12 skrip sembang php terbaik di codecanyon

Pengumuman Penyiasatan Situasi PHP 2025 Pengumuman Penyiasatan Situasi PHP 2025 Mar 03, 2025 pm 04:20 PM

Pengumuman Penyiasatan Situasi PHP 2025

See all articles