Composer-Setup
The Windows installer for the Composer PHP Dependency Manager. Download the latest release.
Contents
- About
- Details
- Php Ini File
- Troubleshooting
- Uninstalling
- Install Locations
- Environment Variables
- Command Line Parameters
- Unattended Installation
- License
About
Composer-Setup downloads and installs Composer so you can use it easily from the command line.
- it looks for PHP on your computer.
- it creates or modifies
php.ini
if required. - it adds PHP to the path.
- it installs Composer globally - just type
composer
from any location to use it. - it lets you use the Command Prompt, Git Bash, Msys, Msys2 and Cygwin.
- it can be deployed unattended for silent installs/uninstalls.
Download and run the latest release and in the majority of cases this is all you need to do. The install process is described in more detail below.
Composer-Setup is written with Inno Setup, which is a powerful free installer for Windows programs.
Details
First you must choose the installation type. By default Composer will be installed to a fixed location with a Control Panel uninstaller. You can choose Developer Mode if you want more control, which will install Composer anywhere you want without an uninstaller.
The next step is to find the location of your php.exe
, which is the PHP command line interpreter.
The installer searches common locations on your computer and presents you with its findings. If PHP
is already in your path then it will display this value. If not, or you want to choose a different
PHP, you must select from the list or hunt around manually.
The installer will then check that PHP and your path are set up correctly. If it finds any errors it
will give you the chance to fix them. It will also offer to either create or modify the php.ini
file if required settings do not exist. See Php Ini File for more information.
Next, the installer will ask if you need a proxy server to connect to the internet. If it finds any values in your Internet Settings or your environment, then the proxy url will be displayed.
After you have reviewed and accepted your settings, the installer will download Composer and set everything up. If your environment has been changed, it is important to close your current terminal and open a new one so that the changes get loaded. The installer will remind you if this is the case.
Php Ini File
Composer-Setup will either create a new php.ini
or modify an existing file if any settings needed
by Composer are missing:
allow_url_fopen
set toOn
curl
,mbstring
andopen_ssl
extensions enabled
When creating a new file, the php.ini-production file is used with extension_dir
and
date.timezone
values appropriately set. When modifying an existing file, a backup is created in
the same directory, named php.ini~orig
.
Troubleshooting
Composer-Setup creates a log file, which may be useful to review if you experience any installation
issues. This is stored in your temp directory AppData\Local\Temp
with a formatted filename:
Setup Log YYYY-MM-DD #nnn.txt
.
Uninstalling
The uninstall program is available from the Control Panel (or Apps and Features) and is named
Composer - PHP Dependency Manager
. It offers the option to remove user cache and configuration
data (for all users, if run as an Adminstrator) from:
<user>\AppData\Local\Composer
<user>\AppData\Roaming\Composer
The uninstall program will not be available if you installed in Developer Mode. To manually uninstall you must delete the composer files from the location you installed to and update the environment.
Install Locations
In a default installation, the install directories are pre-determined and depend on whether you have chosen to install for All Users or the Current User.
All Users install:
C:\<Program Files>\ComposerSetup
- uninstaller.C:\ProgramData\ComposerSetup\bin
- composer files.
Current User install:
C:\Users\<user>\AppData\Local\ComposerSetup
- uninstaller.C:\Users\<user>\AppData\Local\ComposerSetup\bin
- composer files.
In a Developer Mode installation you can install the composer files to a location of your choice.
Environment Variables
The installer will modify the System path for All Users installs, or the User path for Current User installs:
- the path to PHP will be added if missing, or replaced if a different PHP is selected. For default All Users installs you must confirm that you accept responsibility for the access control of this location. This is important if other people use the computer because it could enable escalation of priveleges exploits.
- the path to the composer files directory will be added/replaced.
In addition the installer will add the following to the environment of the current user:
- the
C:\Users\<user>\AppData\Roaming\Composer\vendor\bin
directory to your path. - an
http_proxy
value, if a proxy is specified in the installer.
The uninstaller will remove the path to the composer files directory and, if the user data was
removed, the Composer\vendor\bin
path. The PHP path and any http_proxy
value will be left intact.
Command Line Parameters
The installer supports Inno Setup's Setup Command Line Parameters, although not all
of them are relevant. Of interest are the /VERYSILENT
or /SILENT
options for
Unattended Installs and the /SAVEINF=
and /LOADINF=
directives for
creating and using a settings file. The following additional parameters are available:
/PHP="folder-or-exe"
uses PHP from the specified location, adding it to the path if necessary./DEV="path"
selects Developer Mode and installs Composer to the specified path without an uninstaller./PROXY=proxy-url
is the proxy url to use and save, but only if no proxy environment variables exist. The log file automatically reports the command line parameters so any sensitive data in the proxy url will be visible. This is not the case when the proxy url is specified in a settings file.
The uninstall program supports Inno Setup's Uninstaller Command Line Parameters, plus the following parameters:
/DELETE=local
removes<user>\AppData\Local\Composer
data./DELETE=all
additionally removes<user>\AppData\Roaming\Composer
data.
Unattended Installs
Unattended installs and uninstalls require the /VERYSILENT /SUPPRESSMSGBOXES
command line options.
- The confirmation needed to add/replace a PHP folder on the System path is bypassed on unattended installs.
- User cache and configuration data is not removed on unattended uninstalls unless specified with
the
/DELETE=
parameter (as above), which will apply to all users if being run as an Administrator.
License
Composer-Setup is licensed under the MIT License - see the LICENSE
file for details