我只是嘗試為 laravel 專案運行 composer install 命令。我的 C:\xampp\php\ext 目錄中確實有所有這些 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,這會導致問題,因為根據此答案,它表示如果您將PHP 作為Apache 模組安裝在工作MPM(多處理模型)那麼你應該使用線程安全的。
你可以透過執行 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