我只是想为 laravel 项目运行 composer install 命令。我的 C:\xampp\php xt 目录中确实有所有这些 PHP 扩展,但错误仍然显示如下:
PS C:\Users\user\Documents\Test Real\Hantech\OceanAMS> composer install
You are running Composer with SSL/TLS protection disabled.
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Your lock file does not contain a compatible set of packages. Please run composer update.
Problem 1
- Root composer.json requires PHP extension ext-curl * but it is missing from your system. Install or enable PHP's curl extension.
Problem 2
- Root composer.json requires PHP extension ext-fileinfo * but it is missing from your system. Install or enable PHP's fileinfo extension.
Problem 3
- defuse/php-encryption is locked to version v2.3.1 and an update of this package was not requested.
- defuse/php-encryption v2.3.1 requires ext-openssl * -> it is missing from your system. Install or enable PHP's openssl extension.
Problem 4
- eduardokum/laravel-mail-auto-embed is locked to version 1.0.7 and an update of this package was not requested.
- eduardokum/laravel-mail-auto-embed 1.0.7 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.
Problem 5
- facade/ignition is locked to version 2.17.6 and an update of this package was not requested.
- facade/ignition 2.17.6 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.
Problem 6
- intervention/image is locked to version 2.7.2 and an update of this package was not requested.
- intervention/image 2.7.2 requires ext-fileinfo * -> it is missing from your system. Install or enable PHP's fileinfo extension.
Problem 7
- laravel/framework is locked to version v8.83.22 and an update of this package was not requested.
- laravel/framework v8.83.22 requires ext-openssl * -> it is missing from your system. Install or enable PHP's openssl extension.
Problem 8
- lcobucci/jwt is locked to version 4.1.5 and an update of this package was not requested.
- lcobucci/jwt 4.1.5 requires ext-openssl * -> it is missing from your system. Install or enable PHP's openssl extension.
Problem 9
- league/flysystem is locked to version 1.1.9 and an update of this package was not requested.
- league/flysystem 1.1.9 requires ext-fileinfo * -> it is missing from your system. Install or enable PHP's fileinfo extension.
Problem 10
- league/mime-type-detection is locked to version 1.11.0 and an update of this package was not requested.
- league/mime-type-detection 1.11.0 requires ext-fileinfo * -> it is missing from your system. Install or enable PHP's fileinfo extension.
Problem 11
- league/oauth1-client is locked to version v1.10.1 and an update of this package was not requested.
- league/oauth1-client v1.10.1 requires ext-openssl * -> it is missing from your system. Install or enable PHP's openssl extension.
Problem 12
- league/oauth2-server is locked to version 8.3.5 and an update of this package was not requested.
- league/oauth2-server 8.3.5 requires ext-openssl * -> it is missing from your system. Install or enable PHP's openssl extension.
Problem 13
- phpoffice/phpspreadsheet is locked to version 1.24.1 and an update of this package was not requested.
- phpoffice/phpspreadsheet 1.24.1 requires ext-fileinfo * -> it is missing from your system. Install or enable PHP's fileinfo extension.
Problem 14
- robrichards/xmlseclibs is locked to version 3.1.1 and an update of this package was not requested.
- robrichards/xmlseclibs 3.1.1 requires ext-openssl * -> it is missing from your system. Install or enable PHP's openssl extension.
Problem 15
- rollbar/rollbar is locked to version v2.1.0 and an update of this package was not requested.
- rollbar/rollbar v2.1.0 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.
Problem 16
- tecnickcom/tc-lib-barcode is locked to version 1.17.14 and an update of this package was not requested.
- tecnickcom/tc-lib-barcode 1.17.14 requires ext-gd * -> it is missing from your system. Install or enable PHP's gd extension.
Problem 17
- composer/ca-bundle is locked to version 1.3.5 and an update of this package was not requested.
- composer/ca-bundle 1.3.5 requires ext-openssl * -> it is missing from your system. Install or enable PHP's openssl extension.
Problem 18
- php-webdriver/webdriver is locked to version 1.12.1 and an update of this package was not requested.
- php-webdriver/webdriver 1.12.1 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.
Problem 19
- laravel/framework v8.83.22 requires ext-openssl * -> it is missing from your system. Install or enable PHP's openssl extension.
- nunomaduro/larastan 1.0.4 requires illuminate/console ^6.0 || ^7.0 || ^8.0 || ^9.0 -> satisfiable by laravel/framework[v8.83.22].
- nunomaduro/larastan is locked to version 1.0.4 and an update of this package was not requested.
通过查看我的机器中的
http://localhost/dashboard/phpinfo.php
,我也确信我的系统上已经启用了curl。
我的机器是: Win 10 64 位 PHP 版本 8.0.28 作曲家版本2.6.1
所以我找到了自己的解决方案,所以我使用非线程安全安装php,这会导致问题,因为根据这个answer,它说如果你将PHP安装为worker MPM中的Apache模块(多处理模型)那么你应该使用线程安全的。
您可以通过运行 php -v 来检查您机器上的 php 是否使用线程安全或非线程安全,它会在 php 版本的末尾告诉您。如果是 (ZTS) 则表示它是使用线程安全 (ZTS) 支持构建的,但如果是非线程安全 (NTS) 则意味着不是线程安全。
以下是示例:
线程安全
PHP 8.0.25 (cli)(构建时间:2022 年 10 月 25 日 10:49:29)( ZTS Visual C++ 2019 x64 )
版权所有 (c) PHP 集团
Zend Engine v4.0.25,版权所有 (c) Zend Technologies
非线程安全
PHP 8.0.25 (cli)(构建时间:2022 年 10 月 25 日 10:49:29)( TS Visual C++ 2019 x64 )
版权所有 (c) PHP 集团
Zend Engine v4.0.25,版权所有 (c) Zend Technologies