1. getID3() is a PHP script that extracts useful information from MP3 and other multimedia file formats. Open the URL: https://github.com/JamesHeinrich/getID3
2. Install JamesHeinrich/getID3 via Composer. Open the PHP package repository URL: https://packagist.org , search for: JamesHeinrich/getID3 , and get the search result: james-heinrich/getid3, as shown in Figure 1

3. In PowerShell, execute the installation command: composer require james-heinrich/getid3, which prompts an error ( SSL: Handshake timed out; Failed to enable crypto; Failed to open stream: operation failed ), as shown in Figure 2

PS E:\wwwroot\channel-pub-api> composer require james-heinrich/getid3
The "https://asset-packagist.org/packages.json" file could not be downloaded: SSL: Handshake timed out
Failed to enable crypto
failed to open stream: operation failed
https://asset-packagist.org could not be fully loaded, package information was loaded from the local cache and may be ou
t of date
Using version ^1.9 for james-heinrich/getid3
./composer.json has been updated
Loading composer repositories with package information
The "https://asset-packagist.org/packages.json" file could not be downloaded: failed to open stream: HTTP request failed
!
https://asset-packagist.org could not be fully loaded, package information was loaded from the local cache and may be ou
t of date
Updating dependencies (including require-dev)
^CTerminate batch job (Y/N)? Y
4. Refer to the URL: https://www.shuijingwanwq.com/2019/12/28/3784/ , set the HTTP proxy in cmd, and execute the installation command again. The installation succeeds, as shown in Figure 3

E:\wwwroot>cd channel-pub-api
E:\wwwroot\channel-pub-api>set HTTP_PROXY=http://127.0.0.1:50999
E:\wwwroot\channel-pub-api>set HTTPS_PROXY=http://127.0.0.1:50999
E:\wwwroot\channel-pub-api>composer require james-heinrich/getid3
Using version ^1.9 for james-heinrich/getid3
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing james-heinrich/getid3 (v1.9.19): Downloading (100%)
james-heinrich/getid3 suggests installing ext-com_dotnet (COM extension is required when loading files larger than 2GB on Windows.)
james-heinrich/getid3 suggests installing ext-dba (DBA extension is required to use the DBA database as a cache storage.)
james-heinrich/getid3 suggests installing ext-exif (EXIF extension is required for graphic modules.)
james-heinrich/getid3 suggests installing ext-mysql (MySQL extension is required to use the MySQL database as a cache storage (deprecated in PHP 5.5, removed in PHP >= 7.0, use `ext-mysqli` instead).)
james-heinrich/getid3 suggests installing ext-rar (RAR extension is required for RAR archive module.)
james-heinrich/getid3 suggests installing ext-SimpleXML (SimpleXML extension is required to analyze RIFF/WAV/BWF audio files (also requires `ext-libxml`).)
james-heinrich/getid3 suggests installing ext-sqlite3 (SQLite3 extension is required to use the SQLite3 database as a cache storage.)
Package codeception/base is abandoned, you should avoid using it. No replacement was suggested.
Writing lock file
Generating autoload files
