Overview
This guide details the configuration of alternative repository sources for Composer, the package manager for PHP. Using regional mirrors improves download speeds and stability, particularly within specific geographic locations.
Repository Configuration
Global Scope
To apply changes across all projects, utilize the global flag. Replace the target URL with your preferred mirror endpoint.
composer global config repositories.packagist.url 'https://example-mirror.org/'
To restore default behavior globally:
composer global config --unset repositories.packagist
Project Scope
For configuration limited to a specific project directory, omit the global flag.
# Run from project root
composer config repositories.packagist.url 'https://example-mirror.org/'
Mirror Providers
| Provider | Mirror URL | Notes |
|---|---|---|
| Aliyun | https://mirrors.aliyun.com/composer/ | High performance for domestic traffic, stable connection. |
| Tencent Cloud | https://mirrors.cloud.tencent.com/composer/ | Recommended for TCE users; switch domain to mirrors.tencentyun.com for internal network optimization. |
| Huawei Cloud | https://mirrors.huaweicloud.com/repository/php/ | Official service provided by Huawei Infrastructure. |
| SJTU | https://packagist.mirrors.sjtug.sjtu.edu.cn | Shanghai Jiao Tong University maintained; displays sync status. |
| Packagist.jp | https://packagist.jp | Japan-based mirror with visible synchronization metrics. |
Fallback Strategy
If relying on a private or regional mirror causes issues installing the latest framework versions, you can configure a fallback to the official Packagist when a package is missing locally.
{
"repositories": [
{
"packagist": {
"type": "composer",
"url": "https://packagist.org"
}
},
{
"name": "mirror-source",
"type": "composer",
"url": "https://your-region-mirror.com"
}
]
}
Installation Protocols
Automated Installer
Execute the following sequence to download, verify, and clean up the installer file in the current working directory.
# Fetch installer
php -r "readfile('https://install.phpcomposer.com/installer');" | php
# Cleanup
rm composer-setup.php
Phar Wrapper Setup
Composer functions as a PHAR archive. You may manage it via environment variables or wrapper scripts.
Linux Wrapper (Bash)
#!/usr/bin/env bash
BASE_DIR="${BASH_SOURCE%/*}"
if [[ ! -d "$BASE_DIR" ]]; then BASE_DIR="$PWD"; fi
case "$(uname -s)" in
CYGWIN*|MINGW*)
DIR="$(cygpath -m "$BASE_DIR")"
;;
*)
DIR="$(realpath "$BASE_DIR")"
;;
esac
exec php "$DIR/composer.phar" "$@"
Windows Batch (BAT)
@echo OFF
setlocal DISABLEDELAYEDEXPANSION
:: Execute PHAR relative to script location
php "%~dp0composer.phar" %*
endlocal
Operational Commands
Dependency Handling
- Verbose Install: Display detailed processing logs:
composer install -vvv - Package Requirement: Add specific library with verbosity:
composer require vendor/package -vvv - Removal: Uninstall a package and update autoloader:
composer remove vendor/package - Lock File Sync: Refresh lock file without updating dependencies:
composer update --lock
Maintenance & Diagnostics
- Self Upgrade: Pull the latest binary version:
composer self-update - Health Check: Validate system requirements and config:
composer diagnose - Cache Flush: Purge downloaded package archives:
composer clear-cache - Autoload Dump: Optimize class map generation:
composer dump-autoload --optimize