安装 PHP(PHP 8.2.8)、composer(2.8.10)、laravel 12、node(v24.6.0)
查看环境安装各版本:
ck@LAPTOP-HBHSMOI7 MINGW64 /d/web/www.laravelck.com $ php -v PHP 8.2.29 (cli) (built: Jul 1 2025 20:19:51) (NTS Visual C++ 2019 x64) Copyright (c) The PHP Group Zend Engine v4.2.29, Copyright (c) Zend Technologies ck@LAPTOP-HBHSMOI7 MINGW64 /d/web/www.laravelck.com $ node -v v24.6.0 ck@LAPTOP-HBHSMOI7 MINGW64 /d/web/www.laravelck.com $ npm -v 11.5.1 ck@LAPTOP-HBHSMOI7 MINGW64 /d/web/www.laravelck.com $ composer --version Composer version 2.8.10 2025-07-10 19:08:33 PHP version 8.2.29 (D:\software\phpstudy_pro\Extensions\php\php8.2.29nts\php.exe) Run the "diagnose" command to get more detailed diagnostics output. ck@LAPTOP-HBHSMOI7 MINGW64 /d/web/www.laravelck.com $
laravel 安装好后,如何查看laravel安装版本:
在 Laravel 项目中,可以通过以下方法查看当前安装的版本: 方法1:使用 Artisan 命令(推荐) php artisan --version 输出示例:Laravel Framework 11.8.1 (显示主版本号+子版本号) 方法2:查看 composer.json cat composer.json | grep laravel/framework 会显示类似: "laravel/framework": "^11.0" 方法3:检查 Laravel 常量。在代码中调用: echo \Illuminate\Foundation\Application::VERSION; 方法4:通过 Composer 查看 composer show laravel/framework 输出中包含版本号及其他依赖信息
创建 Laravel 项目
安装好 PHP 和 Composer 后,可以通过 Composer 的 create-project 命令创建一个新的 Laravel 项目:
composer create-project laravel/laravel example-app
或者,你也可以通过 Composer 全局安装 Laravel Installer 来创建新的 Laravel 项目:
$ composer global require laravel/installer $ laravel new www.laravelck.com $ cd www.laravelck.com $ composer run dev
ck@LAPTOP-HBHSMOI7 MINGW64 /d/web
$ composer global require laravel/installer
Changed current directory to C:/Users/ck/AppData/Roaming/Composer
./composer.json has been created
Running composer update laravel/installer
Loading composer repositories with package information
Updating dependencies
Lock file operations: 30 installs, 0 updates, 0 removals
- Locking carbonphp/carbon-doctrine-types (3.2.0)
- Locking doctrine/inflector (2.1.0)
- Locking illuminate/collections (v12.25.0)
- Locking illuminate/conditionable (v12.25.0)
- Locking illuminate/contracts (v12.25.0)
- Locking illuminate/filesystem (v12.25.0)
- Locking illuminate/macroable (v12.25.0)
- Locking illuminate/support (v12.25.0)
- Locking laravel/installer (v5.17.0)
- Locking laravel/prompts (v0.3.6)
- Locking nesbot/carbon (3.10.2)
- Locking psr/clock (1.0.0)
- Locking psr/container (2.0.2)
- Locking psr/simple-cache (3.0.0)
- Locking symfony/clock (v7.3.0)
- Locking symfony/console (v7.3.2)
- Locking symfony/deprecation-contracts (v3.6.0)
- Locking symfony/finder (v7.3.2)
- Locking symfony/polyfill-ctype (v1.33.0)
- Locking symfony/polyfill-intl-grapheme (v1.33.0)
- Locking symfony/polyfill-intl-normalizer (v1.33.0)
- Locking symfony/polyfill-mbstring (v1.33.0)
- Locking symfony/polyfill-php83 (v1.33.0)
- Locking symfony/polyfill-php84 (v1.33.0)
- Locking symfony/process (v7.3.0)
- Locking symfony/service-contracts (v3.6.0)
- Locking symfony/string (v7.3.2)
- Locking symfony/translation (v7.3.2)
- Locking symfony/translation-contracts (v3.6.0)
- Locking voku/portable-ascii (2.0.3)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 30 installs, 0 updates, 0 removals
- Downloading doctrine/inflector (2.1.0)
- Downloading symfony/polyfill-php84 (v1.33.0)
- Downloading illuminate/macroable (v12.25.0)
- Downloading psr/simple-cache (3.0.0)
- Downloading psr/container (2.0.2)
- Downloading illuminate/contracts (v12.25.0)
- Downloading illuminate/conditionable (v12.25.0)
- Downloading illuminate/collections (v12.25.0)
- Downloading symfony/process (v7.3.0)
- Downloading symfony/polyfill-mbstring (v1.33.0)
- Downloading symfony/polyfill-intl-normalizer (v1.33.0)
- Downloading symfony/polyfill-intl-grapheme (v1.33.0)
- Downloading symfony/polyfill-ctype (v1.33.0)
- Downloading symfony/string (v7.3.2)
- Downloading symfony/deprecation-contracts (v3.6.0)
- Downloading symfony/service-contracts (v3.6.0)
- Downloading symfony/console (v7.3.2)
- Downloading laravel/prompts (v0.3.6)
- Downloading voku/portable-ascii (2.0.3)
- Downloading symfony/polyfill-php83 (v1.33.0)
- Downloading symfony/translation-contracts (v3.6.0)
- Downloading symfony/translation (v7.3.2)
- Downloading psr/clock (1.0.0)
- Downloading symfony/clock (v7.3.0)
- Downloading carbonphp/carbon-doctrine-types (3.2.0)
- Downloading nesbot/carbon (3.10.2)
- Downloading illuminate/support (v12.25.0)
- Downloading symfony/finder (v7.3.2)
- Downloading illuminate/filesystem (v12.25.0)
- Downloading laravel/installer (v5.17.0)
- Installing doctrine/inflector (2.1.0): Extracting archive
- Installing symfony/polyfill-php84 (v1.33.0): Extracting archive
- Installing illuminate/macroable (v12.25.0): Extracting archive
- Installing psr/simple-cache (3.0.0): Extracting archive
- Installing psr/container (2.0.2): Extracting archive
- Installing illuminate/contracts (v12.25.0): Extracting archive
- Installing illuminate/conditionable (v12.25.0): Extracting archive
- Installing illuminate/collections (v12.25.0): Extracting archive
- Installing symfony/process (v7.3.0): Extracting archive
- Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
- Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
- Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
- Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
- Installing symfony/string (v7.3.2): Extracting archive
- Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
- Installing symfony/service-contracts (v3.6.0): Extracting archive
- Installing symfony/console (v7.3.2): Extracting archive
- Installing laravel/prompts (v0.3.6): Extracting archive
- Installing voku/portable-ascii (2.0.3): Extracting archive
- Installing symfony/polyfill-php83 (v1.33.0): Extracting archive
- Installing symfony/translation-contracts (v3.6.0): Extracting archive
- Installing symfony/translation (v7.3.2): Extracting archive
- Installing psr/clock (1.0.0): Extracting archive
- Installing symfony/clock (v7.3.0): Extracting archive
- Installing carbonphp/carbon-doctrine-types (3.2.0): Extracting archive
- Installing nesbot/carbon (3.10.2): Extracting archive
- Installing illuminate/support (v12.25.0): Extracting archive
- Installing symfony/finder (v7.3.2): Extracting archive
- Installing illuminate/filesystem (v12.25.0): Extracting archive
- Installing laravel/installer (v5.17.0): Extracting archive
22 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
19 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found.
Using version ^5.17 for laravel/installer
ck@LAPTOP-HBHSMOI7 MINGW64 /d/web
$ laravel new www.laravelck.com
_ _
| | | |
| | __ _ _ __ __ ___ _____| |
| | / _` | __/ _` \ \ / / _ \ |
| |___| (_| | | | (_| |\ V / __/ |
|______\__,_|_| \__,_| \_/ \___|_|
Which starter kit would you like to install? [None]:
[none ] None
[react ] React
[vue ] Vue
[livewire] Livewire
> None
Which testing framework do you prefer? [Pest]:
[0] Pest
[1] PHPUnit
> Pest
Creating a "laravel/laravel" project at "./www.laravelck.com"
Installing laravel/laravel (v12.3.0)
- Downloading laravel/laravel (v12.3.0)
- Installing laravel/laravel (v12.3.0): Extracting archive
Created project in D:\web/www.laravelck.com
Loading composer repositories with package information
Updating dependencies
Lock file operations: 112 installs, 0 updates, 0 removals
- Locking brick/math (0.13.1)
- Locking carbonphp/carbon-doctrine-types (3.2.0)
- Locking dflydev/dot-access-data (v3.0.3)
- Locking doctrine/inflector (2.1.0)
- Locking doctrine/lexer (3.0.1)
- Locking dragonmantank/cron-expression (v3.4.0)
- Locking egulias/email-validator (4.0.4)
- Locking fakerphp/faker (v1.24.1)
- Locking filp/whoops (2.18.4)
- Locking fruitcake/php-cors (v1.3.0)
- Locking graham-campbell/result-type (v1.1.3)
- Locking guzzlehttp/guzzle (7.9.3)
- Locking guzzlehttp/promises (2.2.0)
- Locking guzzlehttp/psr7 (2.7.1)
- Locking guzzlehttp/uri-template (v1.0.4)
- Locking hamcrest/hamcrest-php (v2.1.1)
- Locking laravel/framework (v12.25.0)
- Locking laravel/pail (v1.2.3)
- Locking laravel/pint (v1.24.0)
- Locking laravel/prompts (v0.3.6)
- Locking laravel/sail (v1.44.0)
- Locking laravel/serializable-closure (v2.0.4)
- Locking laravel/tinker (v2.10.1)
- Locking league/commonmark (2.7.1)
- Locking league/config (v1.2.0)
- Locking league/flysystem (3.30.0)
- Locking league/flysystem-local (3.30.0)
- Locking league/mime-type-detection (1.16.0)
- Locking league/uri (7.5.1)
- Locking league/uri-interfaces (7.5.0)
- Locking mockery/mockery (1.6.12)
- Locking monolog/monolog (3.9.0)
- Locking myclabs/deep-copy (1.13.4)
- Locking nesbot/carbon (3.10.2)
- Locking nette/schema (v1.3.2)
- Locking nette/utils (v4.0.8)
- Locking nikic/php-parser (v5.6.1)
- Locking nunomaduro/collision (v8.8.2)
- Locking nunomaduro/termwind (v2.3.1)
- Locking phar-io/manifest (2.0.4)
- Locking phar-io/version (3.2.1)
- Locking phpoption/phpoption (1.9.3)
- Locking phpunit/php-code-coverage (11.0.10)
- Locking phpunit/php-file-iterator (5.1.0)
- Locking phpunit/php-invoker (5.0.1)
- Locking phpunit/php-text-template (4.0.1)
- Locking phpunit/php-timer (7.0.1)
- Locking phpunit/phpunit (11.5.33)
- Locking psr/clock (1.0.0)
- Locking psr/container (2.0.2)
- Locking psr/event-dispatcher (1.0.0)
- Locking psr/http-client (1.0.3)
- Locking psr/http-factory (1.1.0)
- Locking psr/http-message (2.0)
- Locking psr/log (3.0.2)
- Locking psr/simple-cache (3.0.0)
- Locking psy/psysh (v0.12.10)
- Locking ralouphie/getallheaders (3.0.3)
- Locking ramsey/collection (2.1.1)
- Locking ramsey/uuid (4.9.0)
- Locking sebastian/cli-parser (3.0.2)
- Locking sebastian/code-unit (3.0.3)
- Locking sebastian/code-unit-reverse-lookup (4.0.1)
- Locking sebastian/comparator (6.3.2)
- Locking sebastian/complexity (4.0.1)
- Locking sebastian/diff (6.0.2)
- Locking sebastian/environment (7.2.1)
- Locking sebastian/exporter (6.3.0)
- Locking sebastian/global-state (7.0.2)
- Locking sebastian/lines-of-code (3.0.1)
- Locking sebastian/object-enumerator (6.0.1)
- Locking sebastian/object-reflector (4.0.1)
- Locking sebastian/recursion-context (6.0.3)
- Locking sebastian/type (5.1.3)
- Locking sebastian/version (5.0.2)
- Locking staabm/side-effects-detector (1.0.5)
- Locking symfony/clock (v7.3.0)
- Locking symfony/console (v7.3.2)
- Locking symfony/css-selector (v7.3.0)
- Locking symfony/deprecation-contracts (v3.6.0)
- Locking symfony/error-handler (v7.3.2)
- Locking symfony/event-dispatcher (v7.3.0)
- Locking symfony/event-dispatcher-contracts (v3.6.0)
- Locking symfony/finder (v7.3.2)
- Locking symfony/http-foundation (v7.3.2)
- Locking symfony/http-kernel (v7.3.2)
- Locking symfony/mailer (v7.3.2)
- Locking symfony/mime (v7.3.2)
- Locking symfony/polyfill-ctype (v1.33.0)
- Locking symfony/polyfill-intl-grapheme (v1.33.0)
- Locking symfony/polyfill-intl-idn (v1.33.0)
- Locking symfony/polyfill-intl-normalizer (v1.33.0)
- Locking symfony/polyfill-mbstring (v1.33.0)
- Locking symfony/polyfill-php80 (v1.33.0)
- Locking symfony/polyfill-php83 (v1.33.0)
- Locking symfony/polyfill-php84 (v1.33.0)
- Locking symfony/polyfill-php85 (v1.33.0)
- Locking symfony/polyfill-uuid (v1.33.0)
- Locking symfony/process (v7.3.0)
- Locking symfony/routing (v7.3.2)
- Locking symfony/service-contracts (v3.6.0)
- Locking symfony/string (v7.3.2)
- Locking symfony/translation (v7.3.2)
- Locking symfony/translation-contracts (v3.6.0)
- Locking symfony/uid (v7.3.1)
- Locking symfony/var-dumper (v7.3.2)
- Locking symfony/yaml (v7.3.2)
- Locking theseer/tokenizer (1.2.3)
- Locking tijsverkoyen/css-to-inline-styles (v2.3.0)
- Locking vlucas/phpdotenv (v5.6.2)
- Locking voku/portable-ascii (2.0.3)
- Locking webmozart/assert (1.11.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 112 installs, 0 updates, 0 removals
- Downloading doctrine/lexer (3.0.1)
- Downloading webmozart/assert (1.11.0)
- Downloading dragonmantank/cron-expression (v3.4.0)
- Downloading fakerphp/faker (v1.24.1)
- Downloading symfony/http-foundation (v7.3.2)
- Downloading fruitcake/php-cors (v1.3.0)
- Downloading psr/http-message (2.0)
- Downloading psr/http-client (1.0.3)
- Downloading ralouphie/getallheaders (3.0.3)
- Downloading psr/http-factory (1.1.0)
- Downloading guzzlehttp/psr7 (2.7.1)
- Downloading guzzlehttp/promises (2.2.0)
- Downloading guzzlehttp/guzzle (7.9.3)
- Downloading symfony/polyfill-php80 (v1.33.0)
- Downloading guzzlehttp/uri-template (v1.0.4)
- Downloading nunomaduro/termwind (v2.3.1)
- Downloading phpoption/phpoption (1.9.3)
- Downloading graham-campbell/result-type (v1.1.3)
- Downloading vlucas/phpdotenv (v5.6.2)
- Downloading symfony/css-selector (v7.3.0)
- Downloading tijsverkoyen/css-to-inline-styles (v2.3.0)
- Downloading symfony/var-dumper (v7.3.2)
- Downloading symfony/polyfill-uuid (v1.33.0)
- Downloading symfony/uid (v7.3.1)
- Downloading symfony/routing (v7.3.2)
- Downloading symfony/polyfill-php85 (v1.33.0)
- Downloading symfony/polyfill-intl-idn (v1.33.0)
- Downloading symfony/mime (v7.3.2)
- Downloading psr/event-dispatcher (1.0.0)
- Downloading symfony/event-dispatcher-contracts (v3.6.0)
- Downloading symfony/event-dispatcher (v7.3.0)
- Downloading psr/log (3.0.2)
- Downloading egulias/email-validator (4.0.4)
- Downloading symfony/mailer (v7.3.2)
- Downloading symfony/error-handler (v7.3.2)
- Downloading symfony/http-kernel (v7.3.2)
- Downloading ramsey/collection (2.1.1)
- Downloading brick/math (0.13.1)
- Downloading ramsey/uuid (4.9.0)
- Downloading monolog/monolog (3.9.0)
- Downloading league/uri-interfaces (7.5.0)
- Downloading league/uri (7.5.1)
- Downloading league/mime-type-detection (1.16.0)
- Downloading league/flysystem-local (3.30.0)
- Downloading league/flysystem (3.30.0)
- Downloading nette/utils (v4.0.8)
- Downloading nette/schema (v1.3.2)
- Downloading dflydev/dot-access-data (v3.0.3)
- Downloading league/config (v1.2.0)
- Downloading league/commonmark (2.7.1)
- Downloading laravel/serializable-closure (v2.0.4)
- Downloading laravel/framework (v12.25.0)
- Downloading laravel/pail (v1.2.3)
- Downloading laravel/pint (v1.24.0)
- Downloading symfony/yaml (v7.3.2)
- Downloading laravel/sail (v1.44.0)
- Downloading nikic/php-parser (v5.6.1)
- Downloading psy/psysh (v0.12.10)
- Downloading laravel/tinker (v2.10.1)
- Downloading hamcrest/hamcrest-php (v2.1.1)
- Downloading mockery/mockery (1.6.12)
- Downloading filp/whoops (2.18.4)
- Downloading nunomaduro/collision (v8.8.2)
- Downloading staabm/side-effects-detector (1.0.5)
- Downloading sebastian/version (5.0.2)
- Downloading sebastian/type (5.1.3)
- Downloading sebastian/recursion-context (6.0.3)
- Downloading sebastian/object-reflector (4.0.1)
- Downloading sebastian/object-enumerator (6.0.1)
- Downloading sebastian/global-state (7.0.2)
- Downloading sebastian/exporter (6.3.0)
- Downloading sebastian/environment (7.2.1)
- Downloading sebastian/diff (6.0.2)
- Downloading sebastian/comparator (6.3.2)
- Downloading sebastian/code-unit (3.0.3)
- Downloading sebastian/cli-parser (3.0.2)
- Downloading phpunit/php-timer (7.0.1)
- Downloading phpunit/php-text-template (4.0.1)
- Downloading phpunit/php-invoker (5.0.1)
- Downloading phpunit/php-file-iterator (5.1.0)
- Downloading theseer/tokenizer (1.2.3)
- Downloading sebastian/lines-of-code (3.0.1)
- Downloading sebastian/complexity (4.0.1)
- Downloading sebastian/code-unit-reverse-lookup (4.0.1)
- Downloading phpunit/php-code-coverage (11.0.10)
- Downloading phar-io/version (3.2.1)
- Downloading phar-io/manifest (2.0.4)
- Downloading myclabs/deep-copy (1.13.4)
- Downloading phpunit/phpunit (11.5.33)
- Installing doctrine/inflector (2.1.0): Extracting archive
- Installing doctrine/lexer (3.0.1): Extracting archive
- Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
- Installing webmozart/assert (1.11.0): Extracting archive
- Installing dragonmantank/cron-expression (v3.4.0): Extracting archive
- Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
- Installing psr/container (2.0.2): Extracting archive
- Installing fakerphp/faker (v1.24.1): Extracting archive
- Installing symfony/polyfill-php83 (v1.33.0): Extracting archive
- Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
- Installing symfony/http-foundation (v7.3.2): Extracting archive
- Installing fruitcake/php-cors (v1.3.0): Extracting archive
- Installing psr/http-message (2.0): Extracting archive
- Installing psr/http-client (1.0.3): Extracting archive
- Installing ralouphie/getallheaders (3.0.3): Extracting archive
- Installing psr/http-factory (1.1.0): Extracting archive
- Installing guzzlehttp/psr7 (2.7.1): Extracting archive
- Installing guzzlehttp/promises (2.2.0): Extracting archive
- Installing guzzlehttp/guzzle (7.9.3): Extracting archive
- Installing symfony/polyfill-php80 (v1.33.0): Extracting archive
- Installing guzzlehttp/uri-template (v1.0.4): Extracting archive
- Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
- Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
- Installing symfony/string (v7.3.2): Extracting archive
- Installing symfony/service-contracts (v3.6.0): Extracting archive
- Installing symfony/console (v7.3.2): Extracting archive
- Installing nunomaduro/termwind (v2.3.1): Extracting archive
- Installing voku/portable-ascii (2.0.3): Extracting archive
- Installing phpoption/phpoption (1.9.3): Extracting archive
- Installing graham-campbell/result-type (v1.1.3): Extracting archive
- Installing vlucas/phpdotenv (v5.6.2): Extracting archive
- Installing symfony/css-selector (v7.3.0): Extracting archive
- Installing tijsverkoyen/css-to-inline-styles (v2.3.0): Extracting archive
- Installing symfony/var-dumper (v7.3.2): Extracting archive
- Installing symfony/polyfill-uuid (v1.33.0): Extracting archive
- Installing symfony/uid (v7.3.1): Extracting archive
- Installing symfony/routing (v7.3.2): Extracting archive
- Installing symfony/process (v7.3.0): Extracting archive
- Installing symfony/polyfill-php85 (v1.33.0): Extracting archive
- Installing symfony/polyfill-php84 (v1.33.0): Extracting archive
- Installing symfony/polyfill-intl-idn (v1.33.0): Extracting archive
- Installing symfony/mime (v7.3.2): Extracting archive
- Installing psr/event-dispatcher (1.0.0): Extracting archive
- Installing symfony/event-dispatcher-contracts (v3.6.0): Extracting archive
- Installing symfony/event-dispatcher (v7.3.0): Extracting archive
- Installing psr/log (3.0.2): Extracting archive
- Installing egulias/email-validator (4.0.4): Extracting archive
- Installing symfony/mailer (v7.3.2): Extracting archive
- Installing symfony/error-handler (v7.3.2): Extracting archive
- Installing symfony/http-kernel (v7.3.2): Extracting archive
- Installing symfony/finder (v7.3.2): Extracting archive
- Installing ramsey/collection (2.1.1): Extracting archive
- Installing brick/math (0.13.1): Extracting archive
- Installing ramsey/uuid (4.9.0): Extracting archive
- Installing psr/simple-cache (3.0.0): Extracting archive
- Installing symfony/translation-contracts (v3.6.0): Extracting archive
- Installing symfony/translation (v7.3.2): Extracting archive
- Installing psr/clock (1.0.0): Extracting archive
- Installing symfony/clock (v7.3.0): Extracting archive
- Installing carbonphp/carbon-doctrine-types (3.2.0): Extracting archive
- Installing nesbot/carbon (3.10.2): Extracting archive
- Installing monolog/monolog (3.9.0): Extracting archive
- Installing league/uri-interfaces (7.5.0): Extracting archive
- Installing league/uri (7.5.1): Extracting archive
- Installing league/mime-type-detection (1.16.0): Extracting archive
- Installing league/flysystem-local (3.30.0): Extracting archive
- Installing league/flysystem (3.30.0): Extracting archive
- Installing nette/utils (v4.0.8): Extracting archive
- Installing nette/schema (v1.3.2): Extracting archive
- Installing dflydev/dot-access-data (v3.0.3): Extracting archive
- Installing league/config (v1.2.0): Extracting archive
- Installing league/commonmark (2.7.1): Extracting archive
- Installing laravel/serializable-closure (v2.0.4): Extracting archive
- Installing laravel/prompts (v0.3.6): Extracting archive
- Installing laravel/framework (v12.25.0): Extracting archive
- Installing laravel/pail (v1.2.3): Extracting archive
- Installing laravel/pint (v1.24.0): Extracting archive
- Installing symfony/yaml (v7.3.2): Extracting archive
- Installing laravel/sail (v1.44.0): Extracting archive
- Installing nikic/php-parser (v5.6.1): Extracting archive
- Installing psy/psysh (v0.12.10): Extracting archive
- Installing laravel/tinker (v2.10.1): Extracting archive
- Installing hamcrest/hamcrest-php (v2.1.1): Extracting archive
- Installing mockery/mockery (1.6.12): Extracting archive
- Installing filp/whoops (2.18.4): Extracting archive
- Installing nunomaduro/collision (v8.8.2): Extracting archive
- Installing staabm/side-effects-detector (1.0.5): Extracting archive
- Installing sebastian/version (5.0.2): Extracting archive
- Installing sebastian/type (5.1.3): Extracting archive
- Installing sebastian/recursion-context (6.0.3): Extracting archive
- Installing sebastian/object-reflector (4.0.1): Extracting archive
- Installing sebastian/object-enumerator (6.0.1): Extracting archive
- Installing sebastian/global-state (7.0.2): Extracting archive
- Installing sebastian/exporter (6.3.0): Extracting archive
- Installing sebastian/environment (7.2.1): Extracting archive
- Installing sebastian/diff (6.0.2): Extracting archive
- Installing sebastian/comparator (6.3.2): Extracting archive
- Installing sebastian/code-unit (3.0.3): Extracting archive
- Installing sebastian/cli-parser (3.0.2): Extracting archive
- Installing phpunit/php-timer (7.0.1): Extracting archive
- Installing phpunit/php-text-template (4.0.1): Extracting archive
- Installing phpunit/php-invoker (5.0.1): Extracting archive
- Installing phpunit/php-file-iterator (5.1.0): Extracting archive
- Installing theseer/tokenizer (1.2.3): Extracting archive
- Installing sebastian/lines-of-code (3.0.1): Extracting archive
- Installing sebastian/complexity (4.0.1): Extracting archive
- Installing sebastian/code-unit-reverse-lookup (4.0.1): Extracting archive
- Installing phpunit/php-code-coverage (11.0.10): Extracting archive
- Installing phar-io/version (3.2.1): Extracting archive
- Installing phar-io/manifest (2.0.4): Extracting archive
- Installing myclabs/deep-copy (1.13.4): Extracting archive
- Installing phpunit/phpunit (11.5.33): Extracting archive
64 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating optimized autoload files
81 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found.
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
INFO Application key set successfully.
Which database will your application use? [MySQL]:
[mysql ] MySQL
[mariadb] MariaDB
[sqlite ] SQLite (Missing PDO extension)
[pgsql ] PostgreSQL (Missing PDO extension)
[sqlsrv ] SQL Server (Missing PDO extension)
> MySQL
Default database updated. Would you like to run the default database migrations? (yes/no) [yes]:
> no
./composer.json has been updated
Using version ^3.8 for pestphp/pest
Using version ^3.2 for pestphp/pest-plugin-laravel
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies
Lock file operations: 14 installs, 0 updates, 0 removals
- Locking brianium/paratest (v7.8.4)
- Locking doctrine/deprecations (1.1.5)
- Locking fidry/cpu-core-counter (1.3.0)
- Locking jean85/pretty-package-versions (2.1.1)
- Locking pestphp/pest (v3.8.3)
- Locking pestphp/pest-plugin (v3.0.0)
- Locking pestphp/pest-plugin-arch (v3.1.1)
- Locking pestphp/pest-plugin-laravel (v3.2.0)
- Locking pestphp/pest-plugin-mutate (v3.0.5)
- Locking phpdocumentor/reflection-common (2.2.0)
- Locking phpdocumentor/reflection-docblock (5.6.3)
- Locking phpdocumentor/type-resolver (1.10.0)
- Locking phpstan/phpdoc-parser (2.2.0)
- Locking ta-tikoma/phpunit-architecture-test (0.8.5)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 14 installs, 0 updates, 0 removals
- Downloading pestphp/pest-plugin (v3.0.0)
- Downloading jean85/pretty-package-versions (2.1.1)
- Downloading fidry/cpu-core-counter (1.3.0)
- Downloading brianium/paratest (v7.8.4)
- Downloading phpstan/phpdoc-parser (2.2.0)
- Downloading phpdocumentor/reflection-common (2.2.0)
- Downloading doctrine/deprecations (1.1.5)
- Downloading phpdocumentor/type-resolver (1.10.0)
- Downloading phpdocumentor/reflection-docblock (5.6.3)
- Downloading ta-tikoma/phpunit-architecture-test (0.8.5)
- Downloading pestphp/pest-plugin-arch (v3.1.1)
- Downloading pestphp/pest-plugin-mutate (v3.0.5)
- Downloading pestphp/pest (v3.8.3)
- Downloading pestphp/pest-plugin-laravel (v3.2.0)
- Installing pestphp/pest-plugin (v3.0.0): Extracting archive
- Installing jean85/pretty-package-versions (2.1.1): Extracting archive
- Installing fidry/cpu-core-counter (1.3.0): Extracting archive
- Installing brianium/paratest (v7.8.4): Extracting archive
- Installing phpstan/phpdoc-parser (2.2.0): Extracting archive
- Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
- Installing doctrine/deprecations (1.1.5): Extracting archive
- Installing phpdocumentor/type-resolver (1.10.0): Extracting archive
- Installing phpdocumentor/reflection-docblock (5.6.3): Extracting archive
- Installing ta-tikoma/phpunit-architecture-test (0.8.5): Extracting archive
- Installing pestphp/pest-plugin-arch (v3.1.1): Extracting archive
- Installing pestphp/pest-plugin-mutate (v3.0.5): Extracting archive
- Installing pestphp/pest (v3.8.3): Extracting archive
- Installing pestphp/pest-plugin-laravel (v3.2.0): Extracting archive
Generating optimized autoload files
> @php artisan config:clear
INFO Configuration cache cleared successfully.
> @php artisan clear-compiled
INFO Compiled services and packages files removed successfully.
> @php artisan package:discover --ansi
INFO Discovering packages.
laravel/pail .................................................................................................. DONE
laravel/sail .................................................................................................. DONE
laravel/tinker ................................................................................................ DONE
nesbot/carbon ................................................................................................. DONE
nunomaduro/collision .......................................................................................... DONE
nunomaduro/termwind ........................................................................................... DONE
pestphp/pest-plugin-laravel ................................................................................... DONE
88 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
INFO No publishable resources for tag [laravel-assets].
No security vulnerability advisories found.
INFO Preparing tests directory.
phpunit.xml ................................................................................... File already exists.
tests/Pest.php ....................................................................................... File created.
tests/TestCase.php ............................................................................ File already exists.
tests/Unit/ExampleTest.php .................................................................... File already exists.
tests/Feature/ExampleTest.php ................................................................. File already exists.
./composer.json has been updated
Running composer update pestphp/pest-plugin-drift
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
- Locking pestphp/pest-plugin-drift (v3.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Downloading pestphp/pest-plugin-drift (v3.0.0)
- Installing pestphp/pest-plugin-drift (v3.0.0): Extracting archive
Generating optimized autoload files
> @php artisan config:clear
INFO Configuration cache cleared successfully.
> @php artisan clear-compiled
INFO Compiled services and packages files removed successfully.
> @php artisan package:discover --ansi
INFO Discovering packages.
laravel/pail .................................................................................................. DONE
laravel/sail .................................................................................................. DONE
laravel/tinker ................................................................................................ DONE
nesbot/carbon ................................................................................................. DONE
nunomaduro/collision .......................................................................................... DONE
nunomaduro/termwind ........................................................................................... DONE
pestphp/pest-plugin-laravel ................................................................................... DONE
89 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
INFO No publishable resources for tag [laravel-assets].
No security vulnerability advisories found.
Using version ^3.0 for pestphp/pest-plugin-drift
✔✔
INFO The [tests\] directory has been migrated to PEST with 2 files changed.
./composer.json has been updated
Running composer update pestphp/pest-plugin-drift
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 0 updates, 1 removal
- Removing pestphp/pest-plugin-drift (v3.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 0 updates, 1 removal
- Removing pestphp/pest-plugin-drift (v3.0.0)
Generating optimized autoload files
> @php artisan config:clear
INFO Configuration cache cleared successfully.
> @php artisan clear-compiled
INFO Compiled services and packages files removed successfully.
> @php artisan package:discover --ansi
INFO Discovering packages.
laravel/pail .................................................................................................. DONE
laravel/sail .................................................................................................. DONE
laravel/tinker ................................................................................................ DONE
nesbot/carbon ................................................................................................. DONE
nunomaduro/collision .......................................................................................... DONE
nunomaduro/termwind ........................................................................................... DONE
pestphp/pest-plugin-laravel ................................................................................... DONE
88 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
INFO No publishable resources for tag [laravel-assets].
No security vulnerability advisories found.
Would you like to run npm install and npm run build? (yes/no) [yes]:
> yes
added 155 packages, and audited 156 packages in 31s
30 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
> build
> vite build
vite v7.1.3 building for production...
transforming...
✓ 53 modules transformed.
rendering chunks...
computing gzip size...
public/build/manifest.json 0.31 kB │ gzip: 0.17 kB
public/build/assets/app-Dz1ORB9U.css 33.37 kB │ gzip: 8.48 kB
public/build/assets/app-C0G0cght.js 35.48 kB │ gzip: 14.21 kB
✓ built in 1.54s
INFO Application ready in [www.laravelck.com]. You can start your local development using:
➜ cd www.laravelck.com
➜ composer run dev
New to Laravel? Check out our documentation. Build something amazing!访问浏览器:http://127.0.0.1:8000/
报错:数据库连接错误
1)、修改env配置
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root
2)、迁移数据库
ck@LAPTOP-HBHSMOI7 MINGW64 /d/web/www.laravelck.com
$ php artisan migrate
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too
long; max key length is 1000 bytes (Connection: mysql, SQL: alter table `users`
add unique `users_email_unique`(`email`))
at vendor\laravel\framework\src\Illuminate\Database\Connection.php:824
820▕ $this->getName(), $query, $this->prepareBindings($b
indings), $e
821▕ );
822▕ }
823▕
➜ 824▕ throw new QueryException(
825▕ $this->getName(), $query, $this->prepareBindings($bindi
ngs), $e
826▕ );
827▕ }
828▕ }
1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:570
PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Sp
ecified key was too long; max key length is 1000 bytes")
2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:570
PDOStatement::execute()
原因:报错,先删掉数据库的数据表
然后在app/Providers/AppServiceProvider.php中添加;编辑app/Providers/AppServiceProvider.php:
use Illuminate\Support\Facades\Schema;
public function boot() {
Schema::defaultStringLength(191);
}
重置数据库:
php artisan migrate:fresh再次迁移数据
ck@LAPTOP-HBHSMOI7 MINGW64 /d/web/www.laravelck.com $ php artisan migrate INFO Preparing database. Creating migration table ............................................................................................................ 12.27ms DONE INFO Running migrations. 0001_01_01_000000_create_users_table ............................................................................................... 135.73ms DONE 0001_01_01_000001_create_cache_table ................................................................................................. 8.63ms DONE 0001_01_01_000002_create_jobs_table ................................................................................................. 36.15ms DONE
【服务器启动的4种方式】:
1)、再次启动服务
ck@LAPTOP-HBHSMOI7 MINGW64 /d/web/www.laravelck.com $ composer run dev > Composer\Config::disableProcessTimeout > npx concurrently -c "#93c5fd,#c4b5fd,#fdba74" "php artisan serve" "php artisan queue:listen --tries=1" "npm run dev" --names='server,queue,vite' [queue] [queue] INFO Processing jobs from the [default] queue. [queue] [vite] [vite] > dev [vite] > vite [vite] [server] [server] INFO Server running on [http://127.0.0.1:8000]. [server] [server] Press Ctrl+C to stop the server [server] [vite] [vite] VITE v7.1.3 ready in 1107 ms [vite] [vite] ➜ Local: http://localhost:5173/ [vite] ➜ Network: use --host to expose [vite] [vite] LARAVEL v12.25.0 plugin v2.0.0 [vite] [vite] ➜ APP_URL: http://localhost:8000 [server] 2025-08-20 13:26:31 / .................................................................................. ~ 501.94ms [server] 2025-08-20 13:26:35 /favicon.ico ......................................................................... ~ 0.44ms
再次访问浏览器:

2)、使用 php artisan serve
ck@LAPTOP-HBHSMOI7 MINGW64 /d/web/www.laravelck.com $ php artisan serve


3)、使用 小皮的nginx服务,创建一个网站,并添加伪静态

添加伪静态
try_files $uri $uri/ /exploit/index.php?$query_string;if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}访问虚拟域名:http://www.cklaravel.com/

4)、php内置服务器的初步使用:-S 指定一下地址和端口号 -t参数 指定一下根目录
ck@LAPTOP-HBHSMOI7 MINGW64 /d/web/www.laravelck.com $ php -S localhost:8888 -t public [Wed Aug 20 14:04:17 2025] PHP 8.2.29 Development Server (http://localhost:8888) started [Wed Aug 20 14:04:26 2025] [::1]:58431 Accepted [Wed Aug 20 14:04:26 2025] [::1]:58432 Accepted [Wed Aug 20 14:04:26 2025] [::1]:58431 [200]: GET / [Wed Aug 20 14:04:26 2025] [::1]:58431 Closing [Wed Aug 20 14:04:26 2025] [::1]:58432 [200]: GET /build/assets/app-Dz1ORB9U.css [Wed Aug 20 14:04:26 2025] [::1]:58434 Accepted [Wed Aug 20 14:04:26 2025] [::1]:58434 [200]: GET /build/assets/app-C0G0cght.js [Wed Aug 20 14:04:26 2025] [::1]:58432 Closing [Wed Aug 20 14:04:26 2025] [::1]:58434 Closing [Wed Aug 20 14:04:26 2025] [::1]:58436 Accepted [Wed Aug 20 14:04:26 2025] [::1]:58436 [200]: GET /build/assets/app-C0G0cght.js [Wed Aug 20 14:04:26 2025] [::1]:58436 Closing [Wed Aug 20 14:04:29 2025] [::1]:58455 Accepted [Wed Aug 20 14:04:29 2025] [::1]:58455 [200]: GET /favicon.ico [Wed Aug 20 14:04:29 2025] [::1]:58455 Closing
访问浏览器:http://localhost:8888/

安装中间提示配置相关问题
【安装问题1】: Which starter kit would you like to install? [None]: #项目初始化的前端框架配置选项 [none ] None [react ] React [vue ] Vue [livewire] Livewire > 在安装 Laravel 时,系统会提示选择前端入门套件(starter kit),这决定了项目初始化的前端框架配置选项。各选项含义如下: 1. [none] None(默认) 不安装任何前端套件,仅提供纯净的 Laravel 后端框架 适合需要完全自定义前端或集成其他工具(如 Svelte、Angular)的场景。 2. [react] React 集成 React 框架及相关工具链(如 React Router、Vite) 安装后自动生成基础组件和路由示例,适用于构建单页应用(SPA) 3. [vue] Vue 集成 Vue 3 及其生态系统(Vue Router、Pinia) 提供预设组件和与 Laravel 后端的 API 通信配置,适合快速开发响应式界面。 4. [livewire] Livewire 使用 Laravel Livewire(服务端渲染组件库)替代传统 JavaScript 框架 无需额外 Node.js 依赖,通过 PHP 逻辑直接驱动动态交互。 选择建议: 新手或全栈项目:选 Vue 或 React 可快速搭建现代前端 传统服务端渲染:Livewire 简化开发流程 自定义架构:选 None 保留最大灵活性 选择后,系统自动配置对应依赖(如 npm install vue)并生成基础文件结构。 后续可通过 Artisan 命令调整配置(如 php artisan ui vue) 【安装问题2】: Which testing framework do you prefer? [Pest]: [0] Pest [1] PHPUnit > Pest Laravel 新项目安装时会自动配置测试环境。询问您想使用哪种 PHP 测试框架 选项: [0] Pest 是 Laravel 官方推荐的现代测试框架(默认选项) [1] PHPUnit" 是 PHP 生态中使用最广泛的传统测试框架 选择建议: 新手推荐 Pest:语法更简洁易读(按回车选择默认) 现有项目迁移选 PHPUnit:如果团队已熟悉 PHPUnit 大型企业项目可选 PHPUnit:需要更多自定义配置时 【安装问题3】: Which database will your application use? [MySQL]: [mysql ] MySQL [mariadb] MariaDB [sqlite ] SQLite (Missing PDO extension) [pgsql ] PostgreSQL (Missing PDO extension) [sqlsrv ] SQL Server (Missing PDO extension) > MySQL 在 Laravel 安装过程中出现的数据库选择提示,决定应用程序默认连接的数据库类型。 【安装问题4】: Default database updated. Would you like to run the default database migrations? (yes/no) [yes]: > no 默认数据库配置已更新。您想要运行默认的数据库迁移吗?(是/否) [默认是]:" 详细解释: Default database updated 表示 Laravel 已经自动配置了默认的数据库连接设置(在 .env 文件中) run the default database migrations Laravel 自带一些预置的数据表迁移文件(用于创建用户表、密码重置表等)。选择 "yes" 会立即执行这些迁移: 创建 users 用户表 创建 password_reset_tokens 密码重置表 创建 sessions 会话表 创建 failed_jobs 失败任务表等 如何选择: 按回车选择默认 [yes]: 如果你的数据库已配置正确(.env 中的数据库用户名/密码正确),Laravel 会直接创建这些表。 ❌ 输入 no: 如果你还未准备好数据库(例如数据库尚未创建),或者想稍后手动运行迁移。 后续操作建议: 1.确保数据库配置正确 检查项目根目录的 .env 文件: DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel # 你的数据库名 DB_USERNAME=root # 你的数据库用户名 DB_PASSWORD= # 你的数据库密码 2. 如果选择 yes 后报错 说明数据库连接配置有问题,需要修正 .env 中的配置,然后手动运行: php artisan migrate 【安装问题5】: Would you like to run npm install and npm run build? (yes/no) [yes]: > yes 这是 Laravel 前端资源构建的提示,询问是否要自动安装 Node.js 依赖并编译前端资源(如 Vue/React 组件、CSS、JS 等)。以下是详细说明: 1.npm install 自动安装 package.json 中定义的所有前端依赖(如 vite、vue、tailwindcss 等)到 node_modules 目录。 2.npm run build 根据 vite.config.js 或 webpack.mix.js 配置,编译和压缩前端资源(如将 .vue 文件转为浏览器可运行的 .js,压缩 CSS 等),输出到 public/build 目录。 3. [yes] 默认选项 直接按回车会执行这两个命令,推荐大多数用户选择。
参考连接:
官方文档:https://laravel.com/docs/11.x/installation
中文文档: Lararvel 11 中文文档、Laravel
Laravel windows 环境 配置 安装 Laravel 11 新手安装
本文为崔凯原创文章,转载无需和我联系,但请注明来自冷暖自知一抹茶ckhttp://www.cksite.cn