Install Hyperf under Docker in WSL-Ubuntu
Step 1: Create a local project directory in WSL (such as ~/wwwroot/hyperf-skeleton)
ubuntu@DESKTOP-H4MGQIU:~/wwwroot$ mkdir -p ~/wwwroot/hyperf-skeleton
2. Modify the mount directory and adapt the path to the local directory. Reference:Hyperf official documentation development under Docker .
ubuntu@DESKTOP-H4MGQIU:~/wwwroot$ docker run --name hyperf \ -v ~/wwwroot/hyperf-skeleton:/data/project \ -w /data/project \ -p 9501:9501 -it \ --privileged -u root \ --entrypoint /bin/sh \ hyperf/hyperf:8.1-alpine-v3.18-swoole Unable to find image 'hyperf/hyperf:8.1-alpine-v3.18-swoole' locally 8.1-alpine-v3.18-swoole: Pulling from hyperf/hyperf 5715dfbf9dd7: Pull complete bfa571bff938: Pull complete 58de83433912: Pull complete 44cf07d57ee4: Pull complete 471a4d85c85c: Download complete Digest: sha256:3cbda08f3892507d760d31bba8b68aeb4b916333055bbf05cf46ea18c67fc935 Status: Downloaded newer image for hyperf/hyperf:8.1-alpine-v3.18-swoole /data/project #
3. Create a project in the container, the creation of the project fails, and an error is reported: Your requirements could not be resolved to an installable set of packages. as shown in Figure 1

/data/project # composer create-project hyperf/hyperf-skeleton Creating a "hyperf/hyperf-skeleton" project at "./hyperf-skeleton" Installing hyperf/hyperf-skeleton (v3.1.3) <ul> <li>Downloading hyperf/hyperf-skeleton (v3.1.3)</li> <li>Installing hyperf/hyperf-skeleton (v3.1.3): Extracting archive Created project in /data/project/hyperf-skeleton</li> </ul> <blockquote>@php -r "file_exists('.env') || copy('.env.example', '.env');" Installer\Script::install Setting up optional packages Setup data and cache dir Removing installer development dependencies</blockquote> What time zone do you want to setup ? [n] Default time zone for php.ini Make your selection or type a time zone name, like Asia/Shanghai (n): Asia/Shanghai Do you want to use Database (MySQL Client) ? [y] yes [n] None of the above Make your selection or type a composer package name and version (yes): y <ul> <li>Adding package hyperf/database (~3.1.0)</li> <li>Adding package hyperf/db-connection (~3.1.0) Do you want to use Redis Client ? [y] yes [n] None of the above Make your selection or type a composer package name and version (yes): y</li> <li>Adding package hyperf/redis (~3.1.0)</li> <li>Copying config/autoload/redis.php Which RPC protocol do you want to use ? [1] JSON RPC with Service Governance [2] JSON RPC [3] gRPC [n] None of the above Make your selection or type a composer package name and version (n): n Which config center do you want to use ? [1] Apollo [2] Aliyun ACM [3] ETCD [4] Nacos [n] None of the above Make your selection or type a composer package name and version (n): n Do you want to use hyperf/constants component ? [y] yes [n] None of the above Make your selection (n): y</li> <li>Adding package hyperf/constants (~3.1.0)</li> <li>Copying app/Constants/ErrorCode.php</li> <li>Copying app/Exception/BusinessException.php Do you want to use hyperf/async-queue component ? (A simple redis queue component) [y] yes [n] None of the above Make your selection or type a composer package name and version (n): y</li> <li>Adding package hyperf/async-queue (~3.1.0)</li> <li>Copying config/autoload/async_queue.php</li> <li>Copying app/Process/AsyncQueueConsumer.php</li> <li>Copying app/Listener/QueueHandleListener.php</li> <li>Copying config/autoload/redis.php Do you want to use hyperf/amqp component ? [y] yes [n] None of the above Make your selection or type a composer package name and version (n): n Do you want to use hyperf/model-cache component ? [y] yes [n] None of the above Make your selection or type a composer package name and version (n): n Do you want to use hyperf/elasticsearch component ? [y] yes [n] None of the above Make your selection or type a composer package name and version (n): n Do you want to use hyperf/tracer component ? (An open tracing protocol component, adapte with Zipkin etc.) [y] yes [n] None of the above Make your selection or type a composer package name and version (n): n Do you want to use pestphp/pest component ? (Pest is a testing framework with a focus on simplicity, meticulously designed to bring back the joy of testing in PHP.) [y] yes [n] None of the above Make your selection or type a composer package name and version (n): y</li> <li>Adding package pestphp/pest (^2.34)</li> <li>Copying test/Feature/ExampleTest.php</li> <li>Copying test/Unit/ExampleTest.php</li> <li>Copying test/Pest.php</li> <li>Copying test/TestCase.php Remove installer Removing composer.lock from .gitignore Removing Expressive installer classes, configuration, tests and docs Loading composer repositories with package information Updating dependencies Your requirements could not be resolved to an installable set of packages. Problem 1 <ul> <li>Root composer.json requires pestphp/pest ^2.34 -&gt; satisfiable by pestphp/pest[v2.34.0, …, 2.x-dev].</li> <li>brianium/paratest[v7.9.0, …, v7.11.2] require php ~8.3.0 || ~8.4.0 -&gt; your php version (8.1.27) does not satisfy that requirement.</li> <li>brianium/paratest[v7.12.0, …, 7.x-dev] require php ~8.3.0 || ~8.4.0 || ~8.5.0 -&gt; your php version (8.1.27) does not satisfy that requirement.</li> <li>brianium/paratest[v7.4.3, …, v7.5.7] require php ~8.2.0 || ~8.3.0 -&gt; your php version (8.1.27) does not satisfy that requirement.</li> <li>brianium/paratest[v7.4.8, …, v7.8.4] require php ~8.2.0 || ~8.3.0 || ~8.4.0 -&gt; your php version (8.1.27) does not satisfy that requirement.</li> <li>brianium/paratest[v7.8.5, …, 7.8.x-dev] require php ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0 -&gt; your php version (8.1.27) does not satisfy that requirement.</li> <li>pestphp/pest v2.34.0 conflicts with phpunit/phpunit 10.5.63.</li> <li>pestphp/pest v2.34.0 conflicts with phpunit/phpunit 10.5.x-dev.</li> <li>pestphp/pest v2.34.0 requires phpunit/phpunit ^10.5.10 -&gt; satisfiable by phpunit/phpunit[10.5.62, 10.5.63, 10.5.x-dev].</li> <li>pestphp/pest v2.34.3 requires brianium/paratest ^7.4.3 -&gt; satisfiable by brianium/paratest[v7.4.3, …, 7.x-dev].</li> <li>pestphp/pest[v2.36.1, …, 2.x-dev] require php ^8.2.0 -&gt; your php version (8.1.27) does not satisfy that requirement.</li> <li>Conclusion: don't install pestphp/pest v2.34.1 (conflict analysis result)</li> <li>Conclusion: don't install pestphp/pest v2.34.2 (conflict analysis result)</li> <li>Conclusion: don't install pestphp/pest v2.34.4 (conflict analysis result)</li> <li>Conclusion: don't install pestphp/pest v2.34.5 (conflict analysis result)</li> <li>Conclusion: don't install pestphp/pest v2.34.6 (conflict analysis result)</li> <li>Conclusion: don't install pestphp/pest v2.34.9 (conflict analysis result)</li> <li>Conclusion: don't install pestphp/pest v2.35.0 (conflict analysis result)</li> <li>Conclusion: don't install pestphp/pest v2.35.1 (conflict analysis result)</li> <li>Conclusion: don't install pestphp/pest v2.36.0 (conflict analysis result)</li> </ul> </li> </ul> /data/project #
4. The core reasons for the error are as follows:
PHP version mismatch: PHP in the container is 8.1.27, but the new version of PEST (test framework) requires PHP ≥ 8.2, and my PHP 8.1 cannot be satisfied;
Dependency chain conflicts: PEST depends on components such as Brianium/paratest, phpunit/phpunit, etc., which also require higher versions of php, which eventually leads composer to fail to resolve a set of dependencies that can be installed.
5. The fastest solution (abandoning the installation of PEST, running the project first), exit the currently failed installation process: Reexecute the creation project command (skip PEST), and select N. Tip: Project Directory ‘/data/project/hyperf-skeleton’ is not empty.. In the /data/project directory of the container, execute the clear command: rm -rf ./* ./.??* . as shown in Figure 2

/data/project # composer create-project hyperf/hyperf-skeleton Creating a "hyperf/hyperf-skeleton" project at "./hyperf-skeleton" In CreateProjectCommand.php line 368: Project directory "/data/project/hyperf-skeleton" is not empty. create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--add-repository] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--remove-vcs] [--no-install] [--no-audit] [--audit-format AUDIT-FORMAT] [--no-security-blocking] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--ask] [--] [<package> [<directory> [<version>]]]
6. Create a project in the container When you meet Pestphp/Pest, select N to create a successful project.
/data/project # composer create-project hyperf/hyperf-skeleton Creating a "hyperf/hyperf-skeleton" project at "./hyperf-skeleton" Installing hyperf/hyperf-skeleton (v3.1.3) <ul> <li>Installing hyperf/hyperf-skeleton (v3.1.3): Extracting archive Created project in /data/project/hyperf-skeleton</li> </ul> <blockquote>@php -r "file_exists('.env') || copy('.env.example', '.env');" Installer\Script::install Setting up optional packages Setup data and cache dir Removing installer development dependencies</blockquote> What time zone do you want to setup ? [n] Default time zone for php.ini Make your selection or type a time zone name, like Asia/Shanghai (n): Asia/Shanghai Do you want to use Database (MySQL Client) ? [y] yes [n] None of the above Make your selection or type a composer package name and version (yes): y <ul> <li>Adding package hyperf/database (~3.1.0)</li> <li>Adding package hyperf/db-connection (~3.1.0) Do you want to use Redis Client ? [y] yes [n] None of the above Make your selection or type a composer package name and version (yes): y</li> <li>Adding package hyperf/redis (~3.1.0)</li> <li>Copying config/autoload/redis.php Which RPC protocol do you want to use ? [1] JSON RPC with Service Governance [2] JSON RPC [3] gRPC [n] None of the above Make your selection or type a composer package name and version (n): n Which config center do you want to use ? [1] Apollo [2] Aliyun ACM [3] ETCD [4] Nacos [n] None of the above Make your selection or type a composer package name and version (n): n Do you want to use hyperf/constants component ? [y] yes [n] None of the above Make your selection (n): y</li> <li>Adding package hyperf/constants (~3.1.0)</li> <li>Copying app/Constants/ErrorCode.php</li> <li>Copying app/Exception/BusinessException.php Do you want to use hyperf/async-queue component ? (A simple redis queue component) [y] yes [n] None of the above Make your selection or type a composer package name and version (n): y</li> <li>Adding package hyperf/async-queue (~3.1.0)</li> <li>Copying config/autoload/async_queue.php</li> <li>Copying app/Process/AsyncQueueConsumer.php</li> <li>Copying app/Listener/QueueHandleListener.php</li> <li>Copying config/autoload/redis.php Do you want to use hyperf/amqp component ? [y] yes [n] None of the above Make your selection or type a composer package name and version (n): n Do you want to use hyperf/model-cache component ? [y] yes [n] None of the above Make your selection or type a composer package name and version (n): n Do you want to use hyperf/elasticsearch component ? [y] yes [n] None of the above Make your selection or type a composer package name and version (n): n Do you want to use hyperf/tracer component ? (An open tracing protocol component, adapte with Zipkin etc.) [y] yes [n] None of the above Make your selection or type a composer package name and version (n): n Do you want to use pestphp/pest component ? (Pest is a testing framework with a focus on simplicity, meticulously designed to bring back the joy of testing in PHP.) [y] yes [n] None of the above Make your selection or type a composer package name and version (n): n Remove installer Removing composer.lock from .gitignore Removing Expressive installer classes, configuration, tests and docs Loading composer repositories with package information Updating dependencies Lock file operations: 135 installs, 0 updates, 0 removals</li> <li>Locking carbonphp/carbon-doctrine-types (3.2.0)</li> <li>Locking clue/ndjson-react (v1.3.0)</li> <li>Locking composer/pcre (3.3.2)</li> <li>Locking composer/semver (3.4.4)</li> <li>Locking composer/xdebug-handler (3.0.5)</li> <li>Locking doctrine/inflector (2.1.0)</li> <li>Locking doctrine/instantiator (1.5.0)</li> <li>Locking evenement/evenement (v3.0.2)</li> <li>Locking fidry/cpu-core-counter (1.3.0)</li> <li>Locking fig/http-message-util (1.1.5)</li> <li>Locking friendsofphp/php-cs-fixer (v3.94.2)</li> <li>Locking graham-campbell/result-type (v1.1.4)</li> <li>Locking guzzlehttp/guzzle (7.10.0)</li> <li>Locking guzzlehttp/promises (2.3.0)</li> <li>Locking guzzlehttp/psr7 (2.9.0)</li> <li>Locking hamcrest/hamcrest-php (v2.1.1)</li> <li>Locking hyperf/async-queue (v3.1.64)</li> <li>Locking hyperf/cache (v3.1.67)</li> <li>Locking hyperf/code-parser (v3.1.63)</li> <li>Locking hyperf/codec (v3.1.63)</li> <li>Locking hyperf/collection (v3.1.64)</li> <li>Locking hyperf/command (v3.1.64)</li> <li>Locking hyperf/conditionable (v3.1.63)</li> <li>Locking hyperf/config (v3.1.63)</li> <li>Locking hyperf/constants (v3.1.63)</li> <li>Locking hyperf/context (v3.1.63)</li> <li>Locking hyperf/contract (v3.1.63)</li> <li>Locking hyperf/coordinator (v3.1.63)</li> <li>Locking hyperf/coroutine (v3.1.65)</li> <li>Locking hyperf/database (v3.1.67)</li> <li>Locking hyperf/db-connection (v3.1.66)</li> <li>Locking hyperf/devtool (v3.1.66)</li> <li>Locking hyperf/di (v3.1.67)</li> <li>Locking hyperf/dispatcher (v3.1.63)</li> <li>Locking hyperf/engine (v2.15.0)</li> <li>Locking hyperf/engine-contract (v1.14.0)</li> <li>Locking hyperf/event (v3.1.63)</li> <li>Locking hyperf/exception-handler (v3.1.63)</li> <li>Locking hyperf/framework (v3.1.63)</li> <li>Locking hyperf/guzzle (v3.1.66)</li> <li>Locking hyperf/http-message (v3.1.65)</li> <li>Locking hyperf/http-server (v3.1.65)</li> <li>Locking hyperf/laminas-mime (v3.0.0)</li> <li>Locking hyperf/logger (v3.1.63)</li> <li>Locking hyperf/macroable (v3.1.63)</li> <li>Locking hyperf/memory (v3.1.63)</li> <li>Locking hyperf/model-listener (v3.1.63)</li> <li>Locking hyperf/pipeline (v3.1.63)</li> <li>Locking hyperf/pool (v3.1.66)</li> <li>Locking hyperf/process (v3.1.63)</li> <li>Locking hyperf/redis (v3.1.66)</li> <li>Locking hyperf/serializer (v3.1.63)</li> <li>Locking hyperf/server (v3.1.63)</li> <li>Locking hyperf/stdlib (v3.1.63)</li> <li>Locking hyperf/stringable (v3.1.65)</li> <li>Locking hyperf/support (v3.1.65)</li> <li>Locking hyperf/tappable (v3.1.63)</li> <li>Locking hyperf/testing (v3.1.63)</li> <li>Locking laminas/laminas-stdlib (3.20.0)</li> <li>Locking mockery/mockery (1.6.12)</li> <li>Locking monolog/monolog (3.10.0)</li> <li>Locking myclabs/deep-copy (1.13.4)</li> <li>Locking nesbot/carbon (2.73.0)</li> <li>Locking nikic/fast-route (v1.3.0)</li> <li>Locking nikic/php-parser (v4.19.5)</li> <li>Locking phar-io/manifest (2.0.4)</li> <li>Locking phar-io/version (3.2.1)</li> <li>Locking php-di/phpdoc-reader (2.2.1)</li> <li>Locking phpoption/phpoption (1.9.5)</li> <li>Locking phpstan/phpstan (1.12.33)</li> <li>Locking phpunit/php-code-coverage (10.1.16)</li> <li>Locking phpunit/php-file-iterator (4.1.0)</li> <li>Locking phpunit/php-invoker (4.0.0)</li> <li>Locking phpunit/php-text-template (3.0.1)</li> <li>Locking phpunit/php-timer (6.0.0)</li> <li>Locking phpunit/phpunit (10.5.63)</li> <li>Locking psr/clock (1.0.0)</li> <li>Locking psr/container (2.0.2)</li> <li>Locking psr/event-dispatcher (1.0.0)</li> <li>Locking psr/http-client (1.0.3)</li> <li>Locking psr/http-factory (1.1.0)</li> <li>Locking psr/http-message (2.0)</li> <li>Locking psr/http-server-handler (1.0.2)</li> <li>Locking psr/http-server-middleware (1.0.2)</li> <li>Locking psr/log (3.0.2)</li> <li>Locking psr/simple-cache (3.0.0)</li> <li>Locking ralouphie/getallheaders (3.0.3)</li> <li>Locking react/cache (v1.2.0)</li> <li>Locking react/child-process (v0.6.7)</li> <li>Locking react/dns (v1.14.0)</li> <li>Locking react/event-loop (v1.6.0)</li> <li>Locking react/promise (v3.3.0)</li> <li>Locking react/socket (v1.17.0)</li> <li>Locking react/stream (v1.4.0)</li> <li>Locking sebastian/cli-parser (2.0.1)</li> <li>Locking sebastian/code-unit (2.0.0)</li> <li>Locking sebastian/code-unit-reverse-lookup (3.0.0)</li> <li>Locking sebastian/comparator (5.0.5)</li> <li>Locking sebastian/complexity (3.2.0)</li> <li>Locking sebastian/diff (5.1.1)</li> <li>Locking sebastian/environment (6.1.0)</li> <li>Locking sebastian/exporter (5.1.4)</li> <li>Locking sebastian/global-state (6.0.2)</li> <li>Locking sebastian/lines-of-code (2.0.2)</li> <li>Locking sebastian/object-enumerator (5.0.0)</li> <li>Locking sebastian/object-reflector (3.0.0)</li> <li>Locking sebastian/recursion-context (5.0.1)</li> <li>Locking sebastian/type (4.0.0)</li> <li>Locking sebastian/version (4.0.1)</li> <li>Locking swoole/ide-helper (5.1.8)</li> <li>Locking swow/psr7-plus (v1.1.2)</li> <li>Locking symfony/console (v6.4.35)</li> <li>Locking symfony/deprecation-contracts (v3.6.0)</li> <li>Locking symfony/event-dispatcher (v6.4.32)</li> <li>Locking symfony/event-dispatcher-contracts (v3.6.0)</li> <li>Locking symfony/filesystem (v6.4.34)</li> <li>Locking symfony/finder (v6.4.34)</li> <li>Locking symfony/http-foundation (v6.4.35)</li> <li>Locking symfony/options-resolver (v6.4.30)</li> <li>Locking symfony/polyfill-ctype (v1.33.0)</li> <li>Locking symfony/polyfill-intl-grapheme (v1.33.0)</li> <li>Locking symfony/polyfill-intl-normalizer (v1.33.0)</li> <li>Locking symfony/polyfill-mbstring (v1.33.0)</li> <li>Locking symfony/polyfill-php80 (v1.33.0)</li> <li>Locking symfony/polyfill-php81 (v1.33.0)</li> <li>Locking symfony/polyfill-php83 (v1.33.0)</li> <li>Locking symfony/polyfill-php84 (v1.33.0)</li> <li>Locking symfony/process (v6.4.33)</li> <li>Locking symfony/service-contracts (v3.6.1)</li> <li>Locking symfony/stopwatch (v6.4.24)</li> <li>Locking symfony/string (v6.4.34)</li> <li>Locking symfony/translation (v6.4.34)</li> <li>Locking symfony/translation-contracts (v3.6.1)</li> <li>Locking theseer/tokenizer (1.3.1)</li> <li>Locking vlucas/phpdotenv (v5.6.3) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 135 installs, 0 updates, 0 removals</li> <li>Downloading composer/pcre (3.3.2)</li> <li>Downloading doctrine/inflector (2.1.0)</li> <li>Downloading doctrine/instantiator (1.5.0)</li> <li>Downloading symfony/deprecation-contracts (v3.6.0)</li> <li>Downloading psr/container (2.0.2)</li> <li>Downloading symfony/service-contracts (v3.6.1)</li> <li>Downloading symfony/stopwatch (v6.4.24)</li> <li>Downloading symfony/process (v6.4.33)</li> <li>Downloading symfony/polyfill-php84 (v1.33.0)</li> <li>Downloading symfony/polyfill-php81 (v1.33.0)</li> <li>Downloading symfony/polyfill-php80 (v1.33.0)</li> <li>Downloading symfony/polyfill-mbstring (v1.33.0)</li> <li>Downloading symfony/options-resolver (v6.4.30)</li> <li>Downloading symfony/finder (v6.4.34)</li> <li>Downloading symfony/polyfill-ctype (v1.33.0)</li> <li>Downloading symfony/filesystem (v6.4.34)</li> <li>Downloading psr/event-dispatcher (1.0.0)</li> <li>Downloading symfony/event-dispatcher-contracts (v3.6.0)</li> <li>Downloading symfony/event-dispatcher (v6.4.32)</li> <li>Downloading symfony/polyfill-intl-normalizer (v1.33.0)</li> <li>Downloading symfony/polyfill-intl-grapheme (v1.33.0)</li> <li>Downloading symfony/string (v6.4.34)</li> <li>Downloading symfony/console (v6.4.35)</li> <li>Downloading sebastian/diff (5.1.1)</li> <li>Downloading react/event-loop (v1.6.0)</li> <li>Downloading evenement/evenement (v3.0.2)</li> <li>Downloading react/stream (v1.4.0)</li> <li>Downloading react/promise (v3.3.0)</li> <li>Downloading react/cache (v1.2.0)</li> <li>Downloading react/dns (v1.14.0)</li> <li>Downloading react/socket (v1.17.0)</li> <li>Downloading react/child-process (v0.6.7)</li> <li>Downloading fidry/cpu-core-counter (1.3.0)</li> <li>Downloading psr/log (3.0.2)</li> <li>Downloading composer/xdebug-handler (3.0.5)</li> <li>Downloading composer/semver (3.4.4)</li> <li>Downloading clue/ndjson-react (v1.3.0)</li> <li>Downloading friendsofphp/php-cs-fixer (v3.94.2)</li> <li>Downloading guzzlehttp/promises (2.3.0)</li> <li>Downloading ralouphie/getallheaders (3.0.3)</li> <li>Downloading psr/http-message (2.0)</li> <li>Downloading psr/http-factory (1.1.0)</li> <li>Downloading guzzlehttp/psr7 (2.9.0)</li> <li>Downloading hyperf/tappable (v3.1.63)</li> <li>Downloading hyperf/macroable (v3.1.63)</li> <li>Downloading hyperf/conditionable (v3.1.63)</li> <li>Downloading hyperf/stringable (v3.1.65)</li> <li>Downloading hyperf/contract (v3.1.63)</li> <li>Downloading hyperf/collection (v3.1.64)</li> <li>Downloading hyperf/engine-contract (v1.14.0)</li> <li>Downloading hyperf/engine (v2.15.0)</li> <li>Downloading hyperf/context (v3.1.63)</li> <li>Downloading hyperf/coroutine (v3.1.65)</li> <li>Downloading hyperf/support (v3.1.65)</li> <li>Downloading phpoption/phpoption (1.9.5)</li> <li>Downloading graham-campbell/result-type (v1.1.4)</li> <li>Downloading vlucas/phpdotenv (v5.6.3)</li> <li>Downloading php-di/phpdoc-reader (2.2.1)</li> <li>Downloading nikic/php-parser (v4.19.5)</li> <li>Downloading hyperf/stdlib (v3.1.63)</li> <li>Downloading hyperf/pipeline (v3.1.63)</li> <li>Downloading hyperf/code-parser (v3.1.63)</li> <li>Downloading hyperf/di (v3.1.67)</li> <li>Downloading hyperf/coordinator (v3.1.63)</li> <li>Downloading hyperf/command (v3.1.64)</li> <li>Downloading hyperf/codec (v3.1.63)</li> <li>Downloading hyperf/async-queue (v3.1.64)</li> <li>Downloading psr/simple-cache (3.0.0)</li> <li>Downloading hyperf/cache (v3.1.67)</li> <li>Downloading hyperf/config (v3.1.63)</li> <li>Downloading hyperf/constants (v3.1.63)</li> <li>Downloading hyperf/pool (v3.1.66)</li> <li>Downloading hyperf/event (v3.1.63)</li> <li>Downloading symfony/translation-contracts (v3.6.1)</li> <li>Downloading symfony/translation (v6.4.34)</li> <li>Downloading psr/clock (1.0.0)</li> <li>Downloading carbonphp/carbon-doctrine-types (3.2.0)</li> <li>Downloading nesbot/carbon (2.73.0)</li> <li>Downloading hyperf/database (v3.1.67)</li> <li>Downloading hyperf/model-listener (v3.1.63)</li> <li>Downloading fig/http-message-util (1.1.5)</li> <li>Downloading hyperf/framework (v3.1.63)</li> <li>Downloading hyperf/db-connection (v3.1.66)</li> <li>Downloading hyperf/devtool (v3.1.66)</li> <li>Downloading psr/http-client (1.0.3)</li> <li>Downloading swow/psr7-plus (v1.1.2)</li> <li>Downloading laminas/laminas-stdlib (3.20.0)</li> <li>Downloading hyperf/laminas-mime (v3.0.0)</li> <li>Downloading hyperf/http-message (v3.1.65)</li> <li>Downloading psr/http-server-handler (1.0.2)</li> <li>Downloading psr/http-server-middleware (1.0.2)</li> <li>Downloading hyperf/dispatcher (v3.1.63)</li> <li>Downloading hyperf/exception-handler (v3.1.63)</li> <li>Downloading guzzlehttp/guzzle (7.10.0)</li> <li>Downloading hyperf/guzzle (v3.1.66)</li> <li>Downloading monolog/monolog (3.10.0)</li> <li>Downloading hyperf/logger (v3.1.63)</li> <li>Downloading hyperf/memory (v3.1.63)</li> <li>Downloading hyperf/process (v3.1.63)</li> <li>Downloading hyperf/redis (v3.1.66)</li> <li>Downloading hyperf/serializer (v3.1.63)</li> <li>Downloading hyperf/server (v3.1.63)</li> <li>Downloading symfony/polyfill-php83 (v1.33.0)</li> <li>Downloading symfony/http-foundation (v6.4.35)</li> <li>Downloading sebastian/version (4.0.1)</li> <li>Downloading sebastian/type (4.0.0)</li> <li>Downloading sebastian/recursion-context (5.0.1)</li> <li>Downloading sebastian/object-reflector (3.0.0)</li> <li>Downloading sebastian/object-enumerator (5.0.0)</li> <li>Downloading sebastian/global-state (6.0.2)</li> <li>Downloading sebastian/exporter (5.1.4)</li> <li>Downloading sebastian/environment (6.1.0)</li> <li>Downloading sebastian/comparator (5.0.5)</li> <li>Downloading sebastian/code-unit (2.0.0)</li> <li>Downloading sebastian/cli-parser (2.0.1)</li> <li>Downloading phpunit/php-timer (6.0.0)</li> <li>Downloading phpunit/php-text-template (3.0.1)</li> <li>Downloading phpunit/php-invoker (4.0.0)</li> <li>Downloading phpunit/php-file-iterator (4.1.0)</li> <li>Downloading theseer/tokenizer (1.3.1)</li> <li>Downloading sebastian/lines-of-code (2.0.2)</li> <li>Downloading sebastian/complexity (3.2.0)</li> <li>Downloading sebastian/code-unit-reverse-lookup (3.0.0)</li> <li>Downloading phpunit/php-code-coverage (10.1.16)</li> <li>Downloading phar-io/version (3.2.1)</li> <li>Downloading phar-io/manifest (2.0.4)</li> <li>Downloading myclabs/deep-copy (1.13.4)</li> <li>Downloading phpunit/phpunit (10.5.63)</li> <li>Downloading nikic/fast-route (v1.3.0)</li> <li>Downloading hyperf/http-server (v3.1.65)</li> <li>Downloading hyperf/testing (v3.1.63)</li> <li>Downloading hamcrest/hamcrest-php (v2.1.1)</li> <li>Downloading mockery/mockery (1.6.12)</li> <li>Downloading phpstan/phpstan (1.12.33)</li> <li>Downloading swoole/ide-helper (5.1.8)</li> <li>Installing composer/pcre (3.3.2): Extracting archive</li> <li>Installing doctrine/inflector (2.1.0): Extracting archive</li> <li>Installing doctrine/instantiator (1.5.0): Extracting archive</li> <li>Installing symfony/deprecation-contracts (v3.6.0): Extracting archive</li> <li>Installing psr/container (2.0.2): Extracting archive</li> <li>Installing symfony/service-contracts (v3.6.1): Extracting archive</li> <li>Installing symfony/stopwatch (v6.4.24): Extracting archive</li> <li>Installing symfony/process (v6.4.33): Extracting archive</li> <li>Installing symfony/polyfill-php84 (v1.33.0): Extracting archive</li> <li>Installing symfony/polyfill-php81 (v1.33.0): Extracting archive</li> <li>Installing symfony/polyfill-php80 (v1.33.0): Extracting archive</li> <li>Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive</li> <li>Installing symfony/options-resolver (v6.4.30): Extracting archive</li> <li>Installing symfony/finder (v6.4.34): Extracting archive</li> <li>Installing symfony/polyfill-ctype (v1.33.0): Extracting archive</li> <li>Installing symfony/filesystem (v6.4.34): Extracting archive</li> <li>Installing psr/event-dispatcher (1.0.0): Extracting archive</li> <li>Installing symfony/event-dispatcher-contracts (v3.6.0): Extracting archive</li> <li>Installing symfony/event-dispatcher (v6.4.32): Extracting archive</li> <li>Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive</li> <li>Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive</li> <li>Installing symfony/string (v6.4.34): Extracting archive</li> <li>Installing symfony/console (v6.4.35): Extracting archive</li> <li>Installing sebastian/diff (5.1.1): Extracting archive</li> <li>Installing react/event-loop (v1.6.0): Extracting archive</li> <li>Installing evenement/evenement (v3.0.2): Extracting archive</li> <li>Installing react/stream (v1.4.0): Extracting archive</li> <li>Installing react/promise (v3.3.0): Extracting archive</li> <li>Installing react/cache (v1.2.0): Extracting archive</li> <li>Installing react/dns (v1.14.0): Extracting archive</li> <li>Installing react/socket (v1.17.0): Extracting archive</li> <li>Installing react/child-process (v0.6.7): Extracting archive</li> <li>Installing fidry/cpu-core-counter (1.3.0): Extracting archive</li> <li>Installing psr/log (3.0.2): Extracting archive</li> <li>Installing composer/xdebug-handler (3.0.5): Extracting archive</li> <li>Installing composer/semver (3.4.4): Extracting archive</li> <li>Installing clue/ndjson-react (v1.3.0): Extracting archive</li> <li>Installing friendsofphp/php-cs-fixer (v3.94.2): Extracting archive</li> <li>Installing guzzlehttp/promises (2.3.0): Extracting archive</li> <li>Installing ralouphie/getallheaders (3.0.3): Extracting archive</li> <li>Installing psr/http-message (2.0): Extracting archive</li> <li>Installing psr/http-factory (1.1.0): Extracting archive</li> <li>Installing guzzlehttp/psr7 (2.9.0): Extracting archive</li> <li>Installing hyperf/tappable (v3.1.63): Extracting archive</li> <li>Installing hyperf/macroable (v3.1.63): Extracting archive</li> <li>Installing hyperf/conditionable (v3.1.63): Extracting archive</li> <li>Installing hyperf/stringable (v3.1.65): Extracting archive</li> <li>Installing hyperf/contract (v3.1.63): Extracting archive</li> <li>Installing hyperf/collection (v3.1.64): Extracting archive</li> <li>Installing hyperf/engine-contract (v1.14.0): Extracting archive</li> <li>Installing hyperf/engine (v2.15.0): Extracting archive</li> <li>Installing hyperf/context (v3.1.63): Extracting archive</li> <li>Installing hyperf/coroutine (v3.1.65): Extracting archive</li> <li>Installing hyperf/support (v3.1.65): Extracting archive</li> <li>Installing phpoption/phpoption (1.9.5): Extracting archive</li> <li>Installing graham-campbell/result-type (v1.1.4): Extracting archive</li> <li>Installing vlucas/phpdotenv (v5.6.3): Extracting archive</li> <li>Installing php-di/phpdoc-reader (2.2.1): Extracting archive</li> <li>Installing nikic/php-parser (v4.19.5): Extracting archive</li> <li>Installing hyperf/stdlib (v3.1.63): Extracting archive</li> <li>Installing hyperf/pipeline (v3.1.63): Extracting archive</li> <li>Installing hyperf/code-parser (v3.1.63): Extracting archive</li> <li>Installing hyperf/di (v3.1.67): Extracting archive</li> <li>Installing hyperf/coordinator (v3.1.63): Extracting archive</li> <li>Installing hyperf/command (v3.1.64): Extracting archive</li> <li>Installing hyperf/codec (v3.1.63): Extracting archive</li> <li>Installing hyperf/async-queue (v3.1.64): Extracting archive</li> <li>Installing psr/simple-cache (3.0.0): Extracting archive</li> <li>Installing hyperf/cache (v3.1.67): Extracting archive</li> <li>Installing hyperf/config (v3.1.63): Extracting archive</li> <li>Installing hyperf/constants (v3.1.63): Extracting archive</li> <li>Installing hyperf/pool (v3.1.66): Extracting archive</li> <li>Installing hyperf/event (v3.1.63): Extracting archive</li> <li>Installing symfony/translation-contracts (v3.6.1): Extracting archive</li> <li>Installing symfony/translation (v6.4.34): Extracting archive</li> <li>Installing psr/clock (1.0.0): Extracting archive</li> <li>Installing carbonphp/carbon-doctrine-types (3.2.0): Extracting archive</li> <li>Installing nesbot/carbon (2.73.0): Extracting archive</li> <li>Installing hyperf/database (v3.1.67): Extracting archive</li> <li>Installing hyperf/model-listener (v3.1.63): Extracting archive</li> <li>Installing fig/http-message-util (1.1.5): Extracting archive</li> <li>Installing hyperf/framework (v3.1.63): Extracting archive</li> <li>Installing hyperf/db-connection (v3.1.66): Extracting archive</li> <li>Installing hyperf/devtool (v3.1.66): Extracting archive</li> <li>Installing psr/http-client (1.0.3): Extracting archive</li> <li>Installing swow/psr7-plus (v1.1.2): Extracting archive</li> <li>Installing laminas/laminas-stdlib (3.20.0): Extracting archive</li> <li>Installing hyperf/laminas-mime (v3.0.0): Extracting archive</li> <li>Installing hyperf/http-message (v3.1.65): Extracting archive</li> <li>Installing psr/http-server-handler (1.0.2): Extracting archive</li> <li>Installing psr/http-server-middleware (1.0.2): Extracting archive</li> <li>Installing hyperf/dispatcher (v3.1.63): Extracting archive</li> <li>Installing hyperf/exception-handler (v3.1.63): Extracting archive</li> <li>Installing guzzlehttp/guzzle (7.10.0): Extracting archive</li> <li>Installing hyperf/guzzle (v3.1.66): Extracting archive</li> <li>Installing monolog/monolog (3.10.0): Extracting archive</li> <li>Installing hyperf/logger (v3.1.63): Extracting archive</li> <li>Installing hyperf/memory (v3.1.63): Extracting archive</li> <li>Installing hyperf/process (v3.1.63): Extracting archive</li> <li>Installing hyperf/redis (v3.1.66): Extracting archive</li> <li>Installing hyperf/serializer (v3.1.63): Extracting archive</li> <li>Installing hyperf/server (v3.1.63): Extracting archive</li> <li>Installing symfony/polyfill-php83 (v1.33.0): Extracting archive</li> <li>Installing symfony/http-foundation (v6.4.35): Extracting archive</li> <li>Installing sebastian/version (4.0.1): Extracting archive</li> <li>Installing sebastian/type (4.0.0): Extracting archive</li> <li>Installing sebastian/recursion-context (5.0.1): Extracting archive</li> <li>Installing sebastian/object-reflector (3.0.0): Extracting archive</li> <li>Installing sebastian/object-enumerator (5.0.0): Extracting archive</li> <li>Installing sebastian/global-state (6.0.2): Extracting archive</li> <li>Installing sebastian/exporter (5.1.4): Extracting archive</li> <li>Installing sebastian/environment (6.1.0): Extracting archive</li> <li>Installing sebastian/comparator (5.0.5): Extracting archive</li> <li>Installing sebastian/code-unit (2.0.0): Extracting archive</li> <li>Installing sebastian/cli-parser (2.0.1): Extracting archive</li> <li>Installing phpunit/php-timer (6.0.0): Extracting archive</li> <li>Installing phpunit/php-text-template (3.0.1): Extracting archive</li> <li>Installing phpunit/php-invoker (4.0.0): Extracting archive</li> <li>Installing phpunit/php-file-iterator (4.1.0): Extracting archive</li> <li>Installing theseer/tokenizer (1.3.1): Extracting archive</li> <li>Installing sebastian/lines-of-code (2.0.2): Extracting archive</li> <li>Installing sebastian/complexity (3.2.0): Extracting archive</li> <li>Installing sebastian/code-unit-reverse-lookup (3.0.0): Extracting archive</li> <li>Installing phpunit/php-code-coverage (10.1.16): Extracting archive</li> <li>Installing phar-io/version (3.2.1): Extracting archive</li> <li>Installing phar-io/manifest (2.0.4): Extracting archive</li> <li>Installing myclabs/deep-copy (1.13.4): Extracting archive</li> <li>Installing phpunit/phpunit (10.5.63): Extracting archive</li> <li>Installing nikic/fast-route (v1.3.0): Extracting archive</li> <li>Installing hyperf/http-server (v3.1.65): Extracting archive</li> <li>Installing hyperf/testing (v3.1.63): Extracting archive</li> <li>Installing hamcrest/hamcrest-php (v2.1.1): Extracting archive</li> <li>Installing mockery/mockery (1.6.12): Extracting archive</li> <li>Installing phpstan/phpstan (1.12.33): Extracting archive</li> <li>Installing swoole/ide-helper (5.1.8): Extracting archive 27 package suggestions were added by new dependencies, use <code>composer suggest</code> to see details. Generating optimized autoload files</li> </ul> <blockquote>rm -rf runtime/container 114 packages you are using are looking for funding. Use the <code>composer fund</code> command to find out more! No security vulnerability advisories found. /data/project #
1 Response
[…] Reference:Install Hyperf under Docker in WSL-Ubuntu. Now startup fails:[ERROR]RedisException: Connection refused. as shown in Figure […]