php
作者:mmseoamin日期:2024-04-30

文章目录

  • 第一次安装laravel v11.0.0
  • 第二次安装laravel v11.0.0
    • 采取措施
    • 第三次安装laravel v11.0.0 - 成功
    • 总结laravel的安装过程

      第一次安装laravel v11.0.0

      Creating a “laravel/laravel:11.0” project at “./example-app”

      Installing laravel/laravel (v11.0.0)

      • Downloading laravel/laravel (v11.0.0)

      • Installing laravel/laravel (v11.0.0): Extracting archive

        Created project in C:\ZSX\CODE\php\example-app

        > @php -r "file_exists('.env') || copy('.env.example', '.env');"

        Loading composer repositories with package information

        加载Composer仓库并获取包信息

        Updating dependencies

        更新依赖项

        Your requirements could not be resolved to an installable set of packages.

        您的需求无法解析为可安装的一组包。

        Problem 1

        • laravel/framework[v11.0.0, …, v11.2.0] require fruitcake/php-cors ^1.3 -> found fruitcake/php-cors[dev-feat-setOptions, dev-master, dev-main, dev-test-8.2, v0.1.0, v0.1.1, v0.1.2, v1.0-alpha1, ..., 1.2.x-dev (alias of dev-master)] but it does not match the constraint.

        • Root composer.json requires laravel/framework ^11.0 -> satisfiable by laravel/framework[v11.0.0, ..., v11.2.0].


          问题在于指定的Laravel框架版本(v11.0.0)与fruitcake/php-cors包的版本要求不匹配。

          这个问题可以通过以下步骤解决:

          1、更新Composer:确保你的Composer是最新的版本。你可以通过运行composer self-update来更新Composer。

          php,第1张

          2、检查fruitcake/php-cors包的版本要求

          打开项目的composer.json文件,并检查fruitcake/php-cors包的版本要求。

          你可能需要降低该包的版本以与Laravel框架的v11.0.0兼容。

          3、修改composer.json

          根据fruitcake/php-cors包的版本要求,修改composer.json文件中的相关依赖项。

          确保将fruitcake/php-cors的版本限制为兼容的版本。

          4、运行Composer install

          在修改了composer.json文件后,运行composer install命令以安装所有依赖项。


          以下是一个可能的解决方案,假设你希望将fruitcake/php-cors降级到v1.2.x版本:

          • 打开项目的composer.json文件

          • 找到对fruitcake/php-cors的引用,并修改为v1.2.x版本(例如,将"1.3"改为"1.2")

          • 保存更改

          • 运行composer install

            第一次安装laravel v11.0.0的时候,我使用的composer的阿里云镜像。

            但是安装没成功,问题是fruitcake/php-cors我找不到1.3的版本。

            于是,我就使用了官网的资源库进行安装,当然是需要挂代理的。

            至于怎么挂代理,可以参考俺的这一篇说明

            第二次安装laravel v11.0.0

            php,第2张

            C:\ZSX\CODE\php>composer create-project laravel/laravel:^11.0 example-app

            Creating a “laravel/laravel:11.0” project at “./example-app”

            创建了一个文件夹。

            Installing laravel/laravel (v11.0.0)

            • Downloading laravel/laravel (v11.0.0)
            • Installing laravel/laravel (v11.0.0): Extracting archive

              下载laravel,并解压缩存档。

              Created project in C:\ZSX\CODE\php\example-app

              > @php -r "file_exists('.env') || copy('.env.example', '.env');"

              这段代码是一个命令行指令,使用了 PHP 的内置命令 php -r 来执行一段 PHP 脚本。

              1、 @php:@符号表示、在命令行中运行命令时、不显示后续命令行的警告或错误信息,并且在命令行环境下运行 PHP

              2、 -r "file_exists('.env') || copy('.env.example', '.env');":这是在 -r 参数后面传递给 PHP 的一个内联脚本

              file_exists('.env') 是一个 PHP 函数,用于检查当前目录中是否存在名为 .env 的文件

              如果该文件存在,表达式 file_exists('.env') 将计算为 true。

              如果文件不存在,就会执行 copy('.env.example', '.env'); 语句,

              其目的是将名为 .env.example 的文件复制为 .env,从而初始化项目所需的配置文件


              Loading composer repositories with package information

              加载 Composer 资源库并获取包信息。Composer 会从配置的各种包资源库中获取包的元数据和信息。

              Updating dependencies

              更新项目的依赖包。这意味着 Composer 正在检查项目的 composer.json 文件,并检查是否有可用的更新版本。

              Lock file operations: 111 installs, 0 updates, 0 removals

              锁定文件操作:111 个安装,0 个更新,0 个移除。

              这表示 Composer 正在执行一系列的操作来安装指定的依赖包。

              在这个例子中,它将执行 111 个包的安装操作,没有更新或删除任何包。

                - Locking brick/math (0.11.0)
                - Locking carbonphp/carbon-doctrine-types (3.2.0)
                - Locking dflydev/dot-access-data (v3.0.2)
                - Locking doctrine/inflector (2.0.10)
                - Locking doctrine/lexer (3.0.1)
                - Locking dragonmantank/cron-expression (v3.3.3)
                - Locking egulias/email-validator (4.0.2)
                - Locking fakerphp/faker (v1.23.1)
                - Locking filp/whoops (2.15.4)
                - Locking fruitcake/php-cors (v1.3.0)
                - Locking graham-campbell/result-type (v1.1.2)
                - Locking guzzlehttp/guzzle (7.8.1)
                - Locking guzzlehttp/promises (2.0.2)
                - Locking guzzlehttp/psr7 (2.6.2)
                - Locking guzzlehttp/uri-template (v1.0.3)
                - Locking hamcrest/hamcrest-php (v2.0.1)
                - Locking laravel/framework (v11.2.0)
                - Locking laravel/pint (v1.15.1)
                - Locking laravel/prompts (v0.1.17)
                - Locking laravel/sail (v1.29.1)
                - Locking laravel/serializable-closure (v1.3.3)
                - Locking laravel/tinker (v2.9.0)
                - Locking league/commonmark (2.4.2)
                - Locking league/config (v1.2.0)
                - Locking league/flysystem (3.26.0)
                - Locking league/flysystem-local (3.25.1)
                - Locking league/mime-type-detection (1.15.0)
                - Locking mockery/mockery (1.6.11)
                - Locking monolog/monolog (3.5.0)
                - Locking myclabs/deep-copy (1.11.1)
                - Locking nesbot/carbon (3.2.3)
                - Locking nette/schema (v1.3.0)
                - Locking nette/utils (v4.0.4)
                - Locking nikic/php-parser (v5.0.2)
                - Locking nunomaduro/collision (v8.1.1)
                - Locking nunomaduro/termwind (v2.0.1)
                - Locking phar-io/manifest (2.0.4)
                - Locking phar-io/version (3.2.1)
                - Locking phpoption/phpoption (1.9.2)
                - Locking phpunit/php-code-coverage (10.1.14)
                - Locking phpunit/php-file-iterator (4.1.0)
                - Locking phpunit/php-invoker (4.0.0)
                - Locking phpunit/php-text-template (3.0.1)
                - Locking phpunit/php-timer (6.0.0)
                - Locking phpunit/phpunit (10.5.16)
                - 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.0.2)
                - Locking psr/http-message (2.0)
                - Locking psr/log (3.0.0)
                - Locking psr/simple-cache (3.0.0)
                - Locking psy/psysh (v0.12.3)
                - Locking ralouphie/getallheaders (3.0.3)
                - Locking ramsey/collection (2.0.0)
                - Locking ramsey/uuid (4.7.5)
                - Locking sebastian/cli-parser (2.0.1)
                - Locking sebastian/code-unit (2.0.0)
                - Locking sebastian/code-unit-reverse-lookup (3.0.0)
                - Locking sebastian/comparator (5.0.1)
                - Locking sebastian/complexity (3.2.0)
                - Locking sebastian/diff (5.1.1)
                - Locking sebastian/environment (6.1.0)
                - Locking sebastian/exporter (5.1.2)
                - Locking sebastian/global-state (6.0.2)
                - Locking sebastian/lines-of-code (2.0.2)
                - Locking sebastian/object-enumerator (5.0.0)
                - Locking sebastian/object-reflector (3.0.0)
                - Locking sebastian/recursion-context (5.0.0)
                - Locking sebastian/type (4.0.0)
                - Locking sebastian/version (4.0.1)
                - Locking spatie/backtrace (1.5.3)
                - Locking spatie/flare-client-php (1.4.4)
                - Locking spatie/ignition (1.13.1)
                - Locking spatie/laravel-ignition (2.5.1)
                - Locking symfony/clock (v7.0.5)
                - Locking symfony/console (v7.0.6)
                - Locking symfony/css-selector (v7.0.3)
                - Locking symfony/deprecation-contracts (v3.4.0)
                - Locking symfony/error-handler (v7.0.6)
                - Locking symfony/event-dispatcher (v7.0.3)
                - Locking symfony/event-dispatcher-contracts (v3.4.2)
                - Locking symfony/finder (v7.0.0)
                - Locking symfony/http-foundation (v7.0.6)
                - Locking symfony/http-kernel (v7.0.6)
                - Locking symfony/mailer (v7.0.6)
                - Locking symfony/mime (v7.0.6)
                - Locking symfony/polyfill-ctype (v1.29.0)
                - Locking symfony/polyfill-intl-grapheme (v1.29.0)
                - Locking symfony/polyfill-intl-idn (v1.29.0)
                - Locking symfony/polyfill-intl-normalizer (v1.29.0)
                - Locking symfony/polyfill-mbstring (v1.29.0)
                - Locking symfony/polyfill-php72 (v1.29.0)
                - Locking symfony/polyfill-php80 (v1.29.0)
                - Locking symfony/polyfill-php83 (v1.29.0)
                - Locking symfony/polyfill-uuid (v1.29.0)
                - Locking symfony/process (v7.0.4)
                - Locking symfony/routing (v7.0.6)
                - Locking symfony/service-contracts (v3.4.2)
                - Locking symfony/string (v7.0.4)
                - Locking symfony/translation (v7.0.4)
                - Locking symfony/translation-contracts (v3.4.2)
                - Locking symfony/uid (v7.0.3)
                - Locking symfony/var-dumper (v7.0.6)
                - Locking symfony/yaml (v7.0.3)
                - Locking theseer/tokenizer (1.2.3)
                - Locking tijsverkoyen/css-to-inline-styles (v2.2.7)
                - Locking vlucas/phpdotenv (v5.6.0)
                - Locking voku/portable-ascii (2.0.1)
                - Locking webmozart/assert (1.11.0)
              

              Writing lock file

              正在生成 lock 文件。

              这意味着 Composer 将根据当前项目的依赖关系和安装过程中的版本解析结果生成一个 lock 文件,

              这个 lock 文件会记录项目当前的依赖包状态,以确保团队中其他成员也能够在相同的依赖状态上进行工作。

              Installing dependencies from lock file (including require-dev)

              从 lock 文件中安装依赖(包括 require-dev)。

              这表示 Composer 将从之前生成的 lock 文件中,以及包括== require-dev 开发环境==所需的依赖,对项目进行依赖包的安装。

              Package operations: 111 installs, 0 updates, 0 removals

              包操作:111 个安装,0 个更新,0 个移除。

              这表示 Composer 正在执行一系列操作来安装指定的依赖包。

              在这个例子中,它将执行 111 个包的安装操作,并且没有更新或删除任何包。

                - Downloading doctrine/inflector (2.0.10)
                - Downloading doctrine/lexer (3.0.1)
                - Downloading symfony/polyfill-ctype (v1.29.0)
                - Downloading webmozart/assert (1.11.0)
                - Downloading dragonmantank/cron-expression (v3.3.3)
                - Downloading symfony/deprecation-contracts (v3.4.0)
                - Downloading psr/container (2.0.2)
                - Downloading fakerphp/faker (v1.23.1)
                - Downloading symfony/polyfill-php80 (v1.29.0)
                - Downloading symfony/polyfill-php83 (v1.29.0)
                - Downloading symfony/polyfill-mbstring (v1.29.0)
                - Downloading symfony/http-foundation (v7.0.6)
                - 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.0.2)
                - Downloading guzzlehttp/psr7 (2.6.2)
                - Downloading guzzlehttp/promises (2.0.2)
                - Downloading guzzlehttp/guzzle (7.8.1)
                - Downloading guzzlehttp/uri-template (v1.0.3)
                - Downloading laravel/pint (v1.15.1)
                - Downloading symfony/polyfill-intl-normalizer (v1.29.0)
                - Downloading symfony/polyfill-intl-grapheme (v1.29.0)
                - Downloading symfony/string (v7.0.4)
                - Downloading symfony/service-contracts (v3.4.2)
                - Downloading symfony/console (v7.0.6)
                - Downloading voku/portable-ascii (2.0.1)
                - Downloading phpoption/phpoption (1.9.2)
                - Downloading graham-campbell/result-type (v1.1.2)
                - Downloading vlucas/phpdotenv (v5.6.0)
                - Downloading symfony/css-selector (v7.0.3)
                - Downloading tijsverkoyen/css-to-inline-styles (v2.2.7)
                - Downloading symfony/var-dumper (v7.0.6)
                - Downloading symfony/polyfill-uuid (v1.29.0)
                - Downloading symfony/uid (v7.0.3)
                - Downloading symfony/routing (v7.0.6)
                - Downloading symfony/process (v7.0.4)
                - Downloading symfony/polyfill-php72 (v1.29.0)
                - Downloading symfony/polyfill-intl-idn (v1.29.0)
                - Downloading symfony/mime (v7.0.6)
                - Downloading psr/event-dispatcher (1.0.0)
                - Downloading symfony/event-dispatcher-contracts (v3.4.2)
                - Downloading symfony/event-dispatcher (v7.0.3)
                - Downloading psr/log (3.0.0)
                - Downloading egulias/email-validator (4.0.2)
                - Downloading symfony/mailer (v7.0.6)
                - Downloading symfony/error-handler (v7.0.6)
                - Downloading symfony/http-kernel (v7.0.6)
                - Downloading symfony/finder (v7.0.0)
                - Downloading ramsey/collection (2.0.0)
                - Downloading brick/math (0.11.0)
                - Downloading ramsey/uuid (4.7.5)
                - Downloading psr/simple-cache (3.0.0)
                - Downloading nunomaduro/termwind (v2.0.1)
                - Downloading symfony/translation-contracts (v3.4.2)
                - Downloading symfony/translation (v7.0.4)
                - Downloading psr/clock (1.0.0)
                - Downloading symfony/clock (v7.0.5)
                - Downloading carbonphp/carbon-doctrine-types (3.2.0)
                - Downloading nesbot/carbon (3.2.3)
                - Downloading monolog/monolog (3.5.0)
                - Downloading league/mime-type-detection (1.15.0)
                - Downloading league/flysystem (3.26.0)
                - Downloading league/flysystem-local (3.25.1)
                - Downloading nette/utils (v4.0.4)
                - Downloading nette/schema (v1.3.0)
                - Downloading dflydev/dot-access-data (v3.0.2)
                - Downloading league/config (v1.2.0)
                - Downloading league/commonmark (2.4.2)
                - Downloading laravel/serializable-closure (v1.3.3)
                - Downloading laravel/prompts (v0.1.17)
                - Downloading laravel/framework (v11.2.0)
                - Downloading symfony/yaml (v7.0.3)
                - Downloading laravel/sail (v1.29.1)
                - Downloading nikic/php-parser (v5.0.2)
                - Downloading psy/psysh (v0.12.3)
                - Downloading laravel/tinker (v2.9.0)
                - Downloading hamcrest/hamcrest-php (v2.0.1)
                - Downloading mockery/mockery (1.6.11)
                - Downloading filp/whoops (2.15.4)
                - Downloading nunomaduro/collision (v8.1.1)
                - Downloading sebastian/version (4.0.1)
                - Downloading sebastian/type (4.0.0)
                - Downloading sebastian/recursion-context (5.0.0)
                - Downloading sebastian/object-reflector (3.0.0)
                - Downloading sebastian/object-enumerator (5.0.0)
                - Downloading sebastian/global-state (6.0.2)
                - Downloading sebastian/exporter (5.1.2)
                - Downloading sebastian/environment (6.1.0)
                - Downloading sebastian/diff (5.1.1)
                - Downloading sebastian/comparator (5.0.1)
                - Downloading sebastian/code-unit (2.0.0)
                - Downloading sebastian/cli-parser (2.0.1)
                - Downloading phpunit/php-timer (6.0.0)
                - Downloading phpunit/php-text-template (3.0.1)
                - Downloading phpunit/php-invoker (4.0.0)
                - Downloading phpunit/php-file-iterator (4.1.0)
                - Downloading theseer/tokenizer (1.2.3)
                - Downloading sebastian/lines-of-code (2.0.2)
                - Downloading sebastian/complexity (3.2.0)
                - Downloading sebastian/code-unit-reverse-lookup (3.0.0)
                - Downloading phpunit/php-code-coverage (10.1.14)
                - Downloading phar-io/version (3.2.1)
                - Downloading phar-io/manifest (2.0.4)
                - Downloading myclabs/deep-copy (1.11.1)
                - Downloading phpunit/phpunit (10.5.16)
                - Downloading spatie/backtrace (1.5.3)
                - Downloading spatie/flare-client-php (1.4.4)
                - Downloading spatie/ignition (1.13.1)
                - Downloading spatie/laravel-ignition (2.5.1)
              
                - Installing doctrine/inflector (2.0.10): Extracting archive
                - Installing doctrine/lexer (3.0.1): Extracting archive
                - Installing symfony/polyfill-ctype (v1.29.0): Extracting archive
                - Installing webmozart/assert (1.11.0): Extracting archive
                - Installing dragonmantank/cron-expression (v3.3.3): Extracting archive
                - Installing symfony/deprecation-contracts (v3.4.0): Extracting archive
                - Installing psr/container (2.0.2): Extracting archive
                - Installing fakerphp/faker (v1.23.1): Extracting archive
                - Installing symfony/polyfill-php80 (v1.29.0): Extracting archive
                - Installing symfony/polyfill-php83 (v1.29.0): Extracting archive
                - Installing symfony/polyfill-mbstring (v1.29.0): Extracting archive
                - Installing symfony/http-foundation (v7.0.6): 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.0.2): Extracting archive
                - Installing guzzlehttp/psr7 (2.6.2): Extracting archive
                - Installing guzzlehttp/promises (2.0.2): Extracting archive
                - Installing guzzlehttp/guzzle (7.8.1): Extracting archive
                - Installing guzzlehttp/uri-template (v1.0.3): Extracting archive
                - Installing laravel/pint (v1.15.1): Extracting archive
                - Installing symfony/polyfill-intl-normalizer (v1.29.0): Extracting archive
                - Installing symfony/polyfill-intl-grapheme (v1.29.0): Extracting archive
                - Installing symfony/string (v7.0.4): Extracting archive
                - Installing symfony/service-contracts (v3.4.2): Extracting archive
                - Installing symfony/console (v7.0.6): Extracting archive
                - Installing voku/portable-ascii (2.0.1): Extracting archive
                - Installing phpoption/phpoption (1.9.2): Extracting archive
                - Installing graham-campbell/result-type (v1.1.2): Extracting archive
                - Installing vlucas/phpdotenv (v5.6.0): Extracting archive
                - Installing symfony/css-selector (v7.0.3): Extracting archive
                - Installing tijsverkoyen/css-to-inline-styles (v2.2.7): Extracting archive
                - Installing symfony/var-dumper (v7.0.6): Extracting archive
                - Installing symfony/polyfill-uuid (v1.29.0): Extracting archive
                - Installing symfony/uid (v7.0.3): Extracting archive
                - Installing symfony/routing (v7.0.6): Extracting archive
                - Installing symfony/process (v7.0.4): Extracting archive
                - Installing symfony/polyfill-php72 (v1.29.0): Extracting archive
                - Installing symfony/polyfill-intl-idn (v1.29.0): Extracting archive
                - Installing symfony/mime (v7.0.6): Extracting archive
                - Installing psr/event-dispatcher (1.0.0): Extracting archive
                - Installing symfony/event-dispatcher-contracts (v3.4.2): Extracting archive
                - Installing symfony/event-dispatcher (v7.0.3): Extracting archive
                - Installing psr/log (3.0.0): Extracting archive
                - Installing egulias/email-validator (4.0.2): Extracting archive
                - Installing symfony/mailer (v7.0.6): Extracting archive
                - Installing symfony/error-handler (v7.0.6): Extracting archive
                - Installing symfony/http-kernel (v7.0.6): Extracting archive
                - Installing symfony/finder (v7.0.0): Extracting archive
                - Installing ramsey/collection (2.0.0): Extracting archive
                - Installing brick/math (0.11.0): Extracting archive
                - Installing ramsey/uuid (4.7.5): Extracting archive
                - Installing psr/simple-cache (3.0.0): Extracting archive
                - Installing nunomaduro/termwind (v2.0.1): Extracting archive
                - Installing symfony/translation-contracts (v3.4.2): Extracting archive
                - Installing symfony/translation (v7.0.4): Extracting archive
                - Installing psr/clock (1.0.0): Extracting archive
                - Installing symfony/clock (v7.0.5): Extracting archive
                - Installing carbonphp/carbon-doctrine-types (3.2.0): Extracting archive
                - Installing nesbot/carbon (3.2.3): Extracting archive
                - Installing monolog/monolog (3.5.0): Extracting archive
                - Installing league/mime-type-detection (1.15.0): Extracting archive
                - Installing league/flysystem (3.26.0): Extracting archive
                - Installing league/flysystem-local (3.25.1): Extracting archive
                - Installing nette/utils (v4.0.4): Extracting archive
                - Installing nette/schema (v1.3.0): Extracting archive
                - Installing dflydev/dot-access-data (v3.0.2): Extracting archive
                - Installing league/config (v1.2.0): Extracting archive
                - Installing league/commonmark (2.4.2): Extracting archive
                - Installing laravel/serializable-closure (v1.3.3): Extracting archive
                - Installing laravel/prompts (v0.1.17): Extracting archive
                - Installing laravel/framework (v11.2.0): Extracting archive
                - Installing symfony/yaml (v7.0.3): Extracting archive
                - Installing laravel/sail (v1.29.1): Extracting archive
                - Installing nikic/php-parser (v5.0.2): Extracting archive
                - Installing psy/psysh (v0.12.3): Extracting archive
                - Installing laravel/tinker (v2.9.0): Extracting archive
                - Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive
                - Installing mockery/mockery (1.6.11): Extracting archive
                - Installing filp/whoops (2.15.4): Extracting archive
                - Installing nunomaduro/collision (v8.1.1): Extracting archive
                - Installing sebastian/version (4.0.1): Extracting archive
                - Installing sebastian/type (4.0.0): Extracting archive
                - Installing sebastian/recursion-context (5.0.0): Extracting archive
                - Installing sebastian/object-reflector (3.0.0): Extracting archive
                - Installing sebastian/object-enumerator (5.0.0): Extracting archive
                - Installing sebastian/global-state (6.0.2): Extracting archive
                - Installing sebastian/exporter (5.1.2): Extracting archive
                - Installing sebastian/environment (6.1.0): Extracting archive
                - Installing sebastian/diff (5.1.1): Extracting archive
                - Installing sebastian/comparator (5.0.1): Extracting archive
                - Installing sebastian/code-unit (2.0.0): Extracting archive
                - Installing sebastian/cli-parser (2.0.1): Extracting archive
                - Installing phpunit/php-timer (6.0.0): Extracting archive
                - Installing phpunit/php-text-template (3.0.1): Extracting archive
                - Installing phpunit/php-invoker (4.0.0): Extracting archive
                - Installing phpunit/php-file-iterator (4.1.0): Extracting archive
                - Installing theseer/tokenizer (1.2.3): Extracting archive
                - Installing sebastian/lines-of-code (2.0.2): Extracting archive
                - Installing sebastian/complexity (3.2.0): Extracting archive
                - Installing sebastian/code-unit-reverse-lookup (3.0.0): Extracting archive
                - Installing phpunit/php-code-coverage (10.1.14): 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.11.1): Extracting archive
                - Installing phpunit/phpunit (10.5.16): Extracting archive
                - Installing spatie/backtrace (1.5.3): Extracting archive
                - Installing spatie/flare-client-php (1.4.4): Extracting archive
                - Installing spatie/ignition (1.13.1): Extracting archive
                - Installing spatie/laravel-ignition (2.5.1): Extracting archive
              

              61 package suggestions were added by new dependencies, use composer suggest to see details.

              61 个包的建议已由新的依赖项添加,请使用 composer suggest 查看详情。

              这表示在安装新的依赖包时,Composer 发现了 61 个可能相关的建议性依赖包

              您可以使用 composer suggest 命令来查看这些建议性依赖的详细信息。


              Generating optimized autoload files

              生成优化的自动加载文件。

              Composer 正在根据项目的依赖关系和配置生成自动加载文件,以便在项目中自动加载所需的 PHP 类和文件。

              这是优化项目性能的一部分,能够加快类的自动加载速度和减少服务器负载

              > Illuminate\Foundation\ComposerScripts::postAutoloadDump
              > @php artisan package:discover --ansi
                 INFO  Discovering packages.
                laravel/sail ....................................................................................................... DONE
                laravel/tinker ..................................................................................................... DONE
                nesbot/carbon ...................................................................................................... DONE
                nunomaduro/collision ............................................................................................... DONE
                nunomaduro/termwind ................................................................................................ DONE
                spatie/laravel-ignition ............................................................................................ DONE
              85 packages you are using are looking for funding.
              Use the `composer fund` command to find out more!
              

              首先看到的是 “Illuminate\Foundation\ComposerScripts::postAutoloadDump” 这是 Laravel 框架中的一个 Composer 脚本,它会在自动加载文件生成之后执行一些操作。

              接着是 “@php artisan package:discover --ansi”,这是通过 Artisan 命令行工具来执行 Laravel 包的发现过程。

              在这个例子中,它显示了一些已经被发现的包,比如 laravel/sail, laravel/tinker, nesbot/carbon 等。

              这些是 Laravel 项目所使用的一些扩展包。

              然后是 “85 packages you are using are looking for funding”,这表示你正在使用的 85 个包正在寻求资金支持

              它建议使用 “composer fund” 命令来了解更多信息。

              > @php artisan vendor:publish --tag=laravel-assets --ansi --force
                 INFO  No publishable resources for tag [laravel-assets].
              No security vulnerability advisories found.
              

              接下来是 “@php artisan vendor:publish --tag=laravel-assets --ansi --force”,它会尝试发布指定标签(laravel-assets)的所有资源。

              在这里的信息中显示没有可以发布的资源。

              接着是 “No security vulnerability advisories found”,这表示没有发现任何安全漏洞。

              > @php artisan key:generate --ansi
                 INFO  Application key set successfully.
              

              “@php artisan key:generate --ansi”,这是用来生成应用程序密钥的 Artisan 命令,它应用程序的密钥已经成功生成。


              > @php -r "file_exists('database/database.sqlite') || touch('database/database.sqlite');"

              这行命令用于确保数据库文件对应的 SQLite 文件存在。

              如果文件不存在,则会使用 PHP 的 touch 函数创建一个新的数据库文件。

              > @php artisan migrate --ansi

              这是在 Laravel 中执行数据库迁移的命令。在这里,它尝试着执行数据库迁移操作。


                 Illuminate\Database\QueryException
                 
                could not find driver (Connection: sqlite, SQL: PRAGMA foreign_keys = ON;)
                at vendor\laravel\framework\src\Illuminate\Database\Connection.php:813
                  809▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
                  810▕                 );
                  811▕             }
                  812▕
                ➜ 813▕             throw new QueryException(
                  814▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
                  815▕             );
                  816▕         }
                  817▕     }
                1   vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:65
                    PDOException::("could not find driver")
                2   vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:65
                    PDO::__construct()
              Script @php artisan migrate --ansi handling the post-create-project-cmd event returned with error code 1
              

              这是一个数据库查询异常,意味着 Laravel 无法找到对应的数据库驱动程序(在这里是 sqlite)。

              这可能是因为相关的 PHP 扩展或驱动程序未安装或未启用。

              采取措施

              php,第3张

              第三次安装laravel v11.0.0 - 成功

              php,第4张

              相比于上面的过程,最后一步执行正常了:

              > @php artisan migrate --ansi
                 INFO  Preparing database.
                Creating migration table ............................................................... 6.98ms DONE
                 INFO  Running migrations.
                0001_01_01_000000_create_users_table .................................................. 16.99ms DONE
                0001_01_01_000001_create_cache_table ................................................... 5.23ms DONE
                0001_01_01_000002_create_jobs_table ................................................... 13.49ms DONE
              

              总结laravel的安装过程

              所有的操作,就是下面的过程:

              Creating a "laravel/laravel:11.0" project at "./example-app"
              Installing laravel/laravel (v11.0.0)
                - Installing laravel/laravel (v11.0.0): Extracting archive
              Created project in C:\ZSX\CODE\php\example-app
              > @php -r "file_exists('.env') || copy('.env.example', '.env');"
              Loading composer repositories with package information
              Updating dependencies
              Lock file operations: 111 installs, 0 updates, 0 removals
              Writing lock file
              Installing dependencies from lock file (including require-dev)
              Package operations: 111 installs, 0 updates, 0 removals
              > Illuminate\Foundation\ComposerScripts::postAutoloadDump
              > @php artisan package:discover --ansi
              > @php artisan vendor:publish --tag=laravel-assets --ansi --force
              > @php artisan key:generate --ansi
              > @php -r "file_exists('database/database.sqlite') || touch('database/database.sqlite');"
              > @php artisan migrate --ansi