无互联网访问权限的Windows Server如何安装Composer
Windows Server 无互联网环境离线安装Composer可行方案
前置准备(在可正常联网、PHP版本与目标服务器一致的Windows设备上操作)
- 提前确认目标服务器已部署可用PHP运行环境,记录PHP安装路径,后续需将该路径加入系统环境变量,保证终端执行
php -v可正常返回版本信息,无扩展缺失报错。 - 下载对应PHP版本兼容的稳定版
composer.phar文件:PHP 7.2.5及以上版本选择2.x系列稳定版,更低版本PHP选择1.x系列兼容版。 - 准备Composer启动批处理文件,可直接新建文本文件后续写入执行脚本,无需额外下载。
- 若需在服务器上部署项目依赖,提前在联网设备上创建与服务器一致的项目目录,编写对应
composer.json文件,执行composer install完成所有依赖拉取后,将整个vendor目录、composer.lock文件统一打包备用。
服务器端部署操作
- 将准备好的
composer.phar文件上传至服务器PHP安装根目录,例如PHP安装路径为C:\php\,则将文件放至C:\php\composer.phar路径下。 - 在同目录下新建名为
composer.bat的批处理文件,写入以下内容后保存:
@echo OFF setlocal disabledelayedexpansion php "%~dp0composer.phar" %*
- 打开系统高级设置-环境变量配置页,在系统变量的Path条目下新增PHP安装路径(例如
C:\php\),保存配置后关闭所有已打开的终端窗口,重新启动cmd或PowerShell。 - 在新终端中执行
composer -V,若正常返回Composer版本号,即代表核心程序安装完成。
离线加载项目依赖操作
- 将提前打包好的
vendor目录、composer.json、composer.lock上传至服务器项目根目录。 - 在项目根目录下执行
composer dump-autoload,重新生成适配当前服务器路径的自动加载文件,全程无需联网。
注意:后续如果需要新增依赖,不要直接在服务器执行
composer require命令,需在联网的同版本PHP环境中提前下载好目标包及其所有关联依赖,将对应文件同步到服务器vendor目录后,重新执行composer dump-autoload即可正常使用。
内容的提问来源于stack exchange,提问作者Raam kumar
相关产品推荐
相关产品推荐

