Download Composer Latest: v2.6.5
Windows Installer
The installer — which requires that you have PHP already installed — will download Composer for you and set up your PATH environment variable
so you can simply call composer from any directory.
Download and run
Composer-Setup.exe
— it will install the latest composer version whenever it is executed.
Command-line installation
To quickly install Composer in the current directory, run the following script in your terminal.
To automate the installation, use the guide on installing Composer programmatically.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
This installer script will simply check some php.ini settings,
warn you if they are set incorrectly, and then
download the latest composer.phar in the current directory. The 4 lines above will, in order:
- Download the installer to the current directory
- Verify the installer SHA-384, which you can also cross-check here
- Run the installer
- Remove the installer
Most likely, you want to put the composer.phar into a directory on your PATH, so you can simply call composer from any directory (Global install), using for example:
sudo mv composer.phar /usr/local/bin/composer
For details, see the instructions on how to install Composer globally.
WARNING: Please do not redistribute the install code.
It will change with every version of the installer.
Instead, please link to this page or check how to install Composer programmatically.
Notable Installer Options
—install-dir
You can install composer to a specific directory by using the --install-dir option and providing
a target directory. Example:
php composer-setup.php --install-dir=bin
—filename
You can specify the filename (default: composer.phar) using the --filename option.
Example:
php composer-setup.php --filename=composer
—version
You can install composer to a specific release by using the --version option and providing a
target release. Example:
php composer-setup.php --version=1.0.0-alpha8
—preview, —snapshot, —1 (EOL), —2, —2.2 (LTS)
Select a specific version channel instead of the default latest stable. See «Download channels» below for more details. Example:
php composer-setup.php --2.2
—help
The installer provides more options for specific environments, use the
--help option to see all of them.
Download channels
By default the installer and composer self-update will
download the latest stable version only. You may select a different
download channel though.
If you would like to help test pre-release versions you can use the
--preview flag on either the installer or self-update.
For snapshot builds, which are done from the latest Composer commit,
you can use the --snapshot flag.
To programmatically install specific major versions you can use the
--1 or --2 flag. To select the latest 2.2 LTS
you can use --2.2.
Manual Download
If you prefer to download the phar manually, here are the available versions:
Latest Stable
(sha256 /
sha256sum /
asc) for PHP 7.2+ users
Latest Preview (alpha/beta/RC)
(sha256 /
sha256sum /
asc)
Latest Snapshot
(sha256 /
sha256sum)
Latest 1.x
(sha256 /
sha256sum)
Latest 2.x
(sha256 /
sha256sum /
asc)
Latest 2.2.x LTS
(sha256 /
sha256sum /
asc) for PHP 5.3 to 7.1 users
| 2.6.5 | 2023-10-06 |
sha256sum9a18e1a3aadbcb94c1bafd6c4a98ff931f4b43a456ef48575130466e19f05dd6asc |
changelog |
| 2.6.4 | 2023-09-29 |
sha256sum5a39f3e2ce5ba391ee3fecb227faf21390f5b7ed5c56f14cab9e1c3048bcf8b8asc |
changelog |
| 2.6.3 | 2023-09-15 |
sha256sume58a390cac0df45ccf5a3d95ae94fa239eded8b7907fa2c8f752f020304fc9b1asc |
changelog |
| 2.6.2 | 2023-09-03 |
sha256sum88c84d4a53fcf1c27d6762e1d5d6b70d57c6dc9d2e2314fd09dbf86bf61e1aefasc |
changelog |
| 2.6.1 | 2023-09-01 |
sha256sum216bd5a516b544783fdce1a9e3a1eeb41f0aa9f0edb20dcd04f2846df64d3661asc |
changelog |
| 2.6.0 | 2023-09-01 |
sha256sum3b190c1cb72670fc033a4831e68c02068c0300616bde4d6ef4d1a183b7d33cc4asc |
changelog |
| 2.5.8 | 2023-06-09 |
sha256sumf07934fad44f9048c0dc875a506cca31cc2794d6aebfc1867f3b1fbf48dce2c5asc |
changelog |
| 2.5.7 | 2023-05-24 |
sha256sum9256c4c1c803b9d0cb7a66a1ab6c737e48c43cc6df7b8ec9ec2497a724bf44deasc |
changelog |
| 2.5.6 | 2023-05-24 |
sha256sum79021fbedfb2b383d606d0cf2161eb2b034099ca4794ffa572e8575f7c5dabc8asc |
changelog |
| 2.5.5 | 2023-03-21 |
sha256sum566a6d1cf4be1cc3ac882d2a2a13817ffae54e60f5aa7c9137434810a5809ffcasc |
changelog |
| 2.5.4 | 2023-02-15 |
sha256sum91ce6cbf9463eae86ae9d5c21d42faa601a519f3fbb2b623a55ee24678079bd3asc |
changelog |
| 2.5.3 | 2023-02-10 |
sha256sum2e1061821951c6a5ece033a025d06296d4a1d056fee2f4bebd35815cf4b1b0f9asc |
changelog |
| 2.5.2 | 2023-02-04 |
sha256sum0844c3dd85bbfa039d33fbda58ae65a38a9f615fcba76948aed75bf94d7606caasc |
changelog |
| 2.5.1 | 2022-12-22 |
sha256sumf1b94fee11a5bd6a1aae5d77c8da269df27c705fcc806ebf4c8c2e6fa8645c20asc |
changelog |
| 2.5.0 | 2022-12-20 |
sha256sumb571610e5451785f76389a08e9575d91c3d6e38fee1df7a9708fe307013c8424asc |
changelog |
| 2.4.4 | 2022-10-27 |
sha256sumc252c2a2219956f88089ffc242b42c8cb9300a368fd3890d63940e4fc9652345asc |
changelog |
| 2.4.3 | 2022-10-14 |
sha256sum26d72f2790502bc9b22209e1cec1e0e43d33b368606ad227d327cccb388b609aasc |
changelog |
| 2.4.2 | 2022-09-14 |
sha256sum8fe98a01050c92cc6812b8ead3bd5b6e0bcdc575ce7a93b242bde497a31d7732asc |
changelog |
| 2.4.1 | 2022-08-20 |
sha256sumea8cf6308ec76ff9645c3818841a7588096b9dc2767345fbd4bd492dd8a6dca6asc |
changelog |
| 2.4.0 | 2022-08-16 |
sha256sum1cdc74f74965908d0e98d00feeca37c23b86da51170a3a11a1538d89ff44d4ddasc |
changelog |
| 2.4.0-RC1 | 2022-07-21 |
sha256sum320ad515ec2bfd96f84898eeab5db5bc9305f140b946cbbe0f2290e82029db82asc |
changelog |
| 2.3.10 | 2022-07-13 |
sha256sumd808272f284fa8e0f8b470703e1438ac8f362030bbc9d12e29530277d767aff0asc |
changelog |
| 2.3.9 | 2022-07-05 |
sha256sum0ec0cd63115cad28307e4b796350712e3cb77db992399aeb4a18a9c0680d7de2asc |
changelog |
| 2.3.8 | 2022-07-01 |
sha256sumc6ab768ad3239c4d4cc4f39f8ff7462925e088cd441e5bdb749fbf6efe049769asc |
changelog |
| 2.3.7 | 2022-06-06 |
sha256sum3f2d46787d51070f922bf991aa08324566f726f186076c2a5e4e8b01a8ea3fd0asc |
changelog |
| 2.3.6 | 2022-06-01 |
sha256sum188e079d509156130d30204c9c8b3f00134dbbc6afadc2f37ed05d02646a47dcasc |
changelog |
| 2.3.5 | 2022-04-13 |
sha256sum3b3b5a899c06a46aec280727bdf50aad14334f6bc40436ea76b07b650870d8f4asc |
changelog |
| 2.3.4 | 2022-04-07 |
sha256sum1fc8fc5b43f081fe76fa85eb5a213412e55f54a60bae4880bc96521ae482d6c3asc |
changelog |
| 2.3.3 | 2022-04-01 |
sha256sumd6931ec2b38b41bd0ad62f9d157908e6688bac091bbf0bd6a619c1067b922402asc |
changelog |
| 2.3.2 | 2022-03-30 |
sha256sum8ec134fe04ee52cd6465384c535ec61107368d4866ade9e995dcb96d8676f0c3asc |
changelog |
| 2.3.1 | 2022-03-30 |
sha256sum35088e641c5e0f463652b20425e2a623095f539fb3a038ba8dccf1ce07f0eca9asc |
changelog |
| 2.3.0 | 2022-03-30 |
sha256sum07d7d2adeaccd97eefa96c26bc6742b465b808b77bbf4246cf2b556970c2bcb1asc |
changelog |
| 2.3.0-RC2 | 2022-03-20 |
sha256sum8e533738ad90e9fa4811348fda361a38f544c420f5a4ea17ed6ed64edd7509feasc |
changelog |
| 2.3.0-RC1 | 2022-03-16 |
sha256sumeb34514c87d16bad4cb7e45eca41df36b728ec8cf9c3a0487e6ac21bda96a132asc |
changelog |
| 2.2.22 | 2023-09-29 |
sha256sum7d3500cc8c9a74b47e14103de150ac95c25ca227b39ffc89cb3a8b495b5db1d2asc |
changelog |
| 2.2.21 | 2023-02-15 |
sha256sum5211584ad39af26704da9f6209bc5d8104a2d576e80ce9c7ed8368ddd779d0afasc |
changelog |
| 2.2.20 | 2023-02-10 |
sha256sumd16bb62fd408109583e8f0c237909d4b1b32fb14ab9cfc15847d11086ba51decasc |
changelog |
| 2.2.19 | 2023-02-04 |
sha256sum325a7cb79ba2d34b27789b314504a8a028d1dde5a495445942bf66f5c19b30b1asc |
changelog |
| 2.2.18 | 2022-08-20 |
sha256sum28a8d9740d615137a8c01d32aef9184db16f543fca36db038501a294d8e95b24asc |
changelog |
| 2.2.17 | 2022-07-13 |
sha256sumec034d3d92c94ab63ebdf1a2bfa9f5e34cb08b043dae91958c6fcb2f47170ceaasc |
changelog |
| 2.2.16 | 2022-07-05 |
sha256sum06932837764594c4864f913615d5ece24e8f0c40b8f074a5e00eacb23d3ae2c9asc |
changelog |
| 2.2.15 | 2022-07-01 |
sha256sumc83adb636c9e5eb22c6c7ccd8c3e54a3ee515f849caef0ec46d378637c4fab32asc |
changelog |
| 2.2.14 | 2022-06-06 |
sha256sum84433f01bcd778f59ec150a1cdd4991c3d9b6cf74bcb7b6c18cdcd1e5efed9d4asc |
changelog |
| 2.2.13 | 2022-05-25 |
sha256sum4c3a6cbe00ad0aaae965523033d511fdf558ff7ff673749d925b7860c1807637asc |
changelog |
| 2.2.12 | 2022-04-13 |
sha256sum1ce90687eb3f89a99c059d45dd419d08430ed249468544b932b1dad7fb22dda0asc |
changelog |
| 2.2.11 | 2022-04-01 |
sha256sum87c4aa2955437245fe510e6b2c794b17aba9ff6761a832fda4785863a23c5ba4asc |
changelog |
| 2.2.10 | 2022-03-29 |
sha256sumdc9dfdd2ffb1180d785b5a3d581c946ec6da135f55c9959f21b96fea7d7fb12dasc |
changelog |
| 2.2.9 | 2022-03-15 |
sha256sum48f9fdc9ad93904fee96550b45ae03a51f69718502ee855da894b4ad71d2dfe0asc |
changelog |
| 2.2.8 | 2022-03-15 |
sha256sume1e1c580a237c739ecc1be57cf512e6b741faaa566439257d19ecd739ddfefafasc |
changelog |
| 2.2.7 | 2022-02-25 |
sha256sum10040ded663541990eef8ce1f6fa44cb3b4a47e145efb8e9e59907a15068033dasc |
changelog |
| 2.2.6 | 2022-02-04 |
sha256sum1d58486b891e59e9e064c0d54bb38538f74d6014f75481542c69ad84d4e97704asc |
changelog |
| 2.2.5 | 2022-01-21 |
sha256sum81ef304a70c957d6f05a7659f03b00eb50df6155195f51118459b2e49c96c3f3asc |
changelog |
| 2.2.4 | 2022-01-08 |
sha256sumba04e246960d193237d5ed6542bd78456898e7787fafb586f500c6807af7458dasc |
changelog |
| 2.2.3 | 2021-12-31 |
sha256sum721cc27f81c6485fff70e6f56b9f2aadae770a1f8974a384c34e35987a230d8casc |
changelog |
| 2.2.2 | 2021-12-29 |
sha256sum7391e020cd3ed1a158fd6cfc0b79d7c005854396536b5499e58fc6eedb544b4easc |
changelog |
| 2.2.1 | 2021-12-22 |
sha256sum1d2067cd8a4df546498b04817b0fa3827f291d564bcde29254e8d6d2db15f896asc |
changelog |
| 2.2.0 | 2021-12-22 |
sha256sumf7928b5465ad14c49901174d72c701d74ee278479ae19a44f6a46839e2d87d4dasc |
changelog |
| 2.2.0-RC1 | 2021-12-08 |
sha256sumc86b1e37ecb73aa19306a6db8693ed002a202d16604f9f2093d6321ceb23afcaasc |
changelog |
| 2.1.14 | 2021-11-30 |
sha256sumd44a904520f9aaa766e8b4b05d2d9a766ad9a6f03fa1a48518224aad703061a4asc |
changelog |
| 2.1.12 | 2021-11-09 |
sha256sumae3ec292dd04b4e468aea1e5db4d085f169d8a803aabeb99707f69e9454bf218asc |
changelog |
| 2.1.11 | 2021-11-02 |
sha256sumfdb587131f8a11fcd475c9949ca340cc58a4b50cce6833caa8118b759a4ad1a3asc |
changelog |
| 2.1.10 | 2021-10-29 |
sha256sumcb8b04cc6a6fb167403f7495e8539650eb555657aa48873f115383bcd8f0b18dasc |
changelog |
| 2.1.9 | 2021-10-05 |
sha256sum4d00b70e146c17d663ad2f9a21ebb4c9d52b021b1ac15f648b4d371c04d648baasc |
changelog |
| 2.1.8 | 2021-09-15 |
sha256sum77b8aca1b41174a67f27be066558f8a96f489916f4cded2bead3cab6a3f33590asc |
changelog |
| 2.1.7 | 2021-09-14 |
sha256sum2936587e1babafa50d15eacf9fe775e825ed2e1f051c61acd3fa4f6af7720e94asc |
changelog |
| 2.1.6 | 2021-08-19 |
sha256sum72524ccebcb071968eb83284507225fdba59f223719b2b3f333d76c8a9ac6b72asc |
changelog |
| 2.1.5 | 2021-07-23 |
sha256sumbe95557cc36eeb82da0f4340a469bad56b57f742d2891892dcb2f8b0179790ecasc |
changelog |
| 2.1.4 | 2021-07-22 |
sha256sum3c8f521888ccb51becae522e263dbfd17169fbf3d4716685858b2c7e7684f4aeasc |
changelog |
| 2.1.3 | 2021-06-09 |
sha256sumf8a72e98dec8da736d8dac66761ca0a8fbde913753e9a43f34112367f5174d11asc |
changelog |
| 2.1.2 | 2021-06-07 |
sha256sum2dec01094a6bd571dcc0ed796b6e180aca3833646834b66eb743b7d66787a43dasc |
changelog |
| 2.1.1 | 2021-06-04 |
sha256sum445a577f3d7966ed2327182380047a38179068ad1292f6b88de4e071920121ceasc |
changelog |
| 2.1.0 | 2021-06-03 |
sha256sum2f8e8f684db5d6bd36a549629f3676e48f008624f499b13dfc7afa2f9cbde16easc |
changelog |
| 2.1.0-RC1 | 2021-06-02 |
sha256sum5e1413b44cd517af3f4d9ff5a66e6e053c0769eef30588bcd4f941209ed5a6beasc |
changelog |
| 2.0.14 | 2021-05-21 |
sha256sum29454b41558968ca634bf5e2d4d07ff2275d91b637a76d7a05e6747d36dd3473asc |
changelog |
| 2.0.13 | 2021-04-27 |
sha256sum116fdf07cc926af646635a6abc92d88aff7b02a5dc36538f81c50a7d27366dbfasc |
changelog |
| 2.0.12 | 2021-04-01 |
sha256sum82ea8c1537cfaceb7e56f6004c7ccdf99ddafce7237c07374d920e635730a631asc |
changelog |
| 2.0.11 | 2021-02-24 |
sha256sumd6eee0d4637f4bd82bdae098fceda300dcb3ec35bf502604fbe7510933b8f952asc |
changelog |
| 2.0.10 | 2021-02-23 |
sha256sum72a5a68d12f315d74d931462413f7e114cd77b4be1a6b9494141dda93410751aasc |
changelog |
| 2.0.9 | 2021-01-27 |
sha256sum8e91344a5ca2fc0fb583c50f195a1f36918908561c4ea3d6f01a4ef01c3b8560asc |
changelog |
| 2.0.8 | 2020-12-03 |
sha256sum2021f0d52b446e0efe3c548cc058ab5671fa38cdbcf814e7911c7e9d71d61538asc |
changelog |
| 2.0.7 | 2020-11-13 |
sha256sum0a060e8caf1d5cde55c4562fd68369b08cf231b8fd30da9c8f994b111557ebe9asc |
changelog |
| 2.0.6 | 2020-11-07 |
sha256sume5e39d8fa699ddb09844f6b4388280ff2c805fef0a7c26580c5bbc91ac35091basc |
changelog |
| 2.0.5 | 2020-11-06 |
sha256sume786d1d997efc1eb463d7447394b6ad17a144afcf8e505a3ce3cb0f60c3302f9asc |
changelog |
| 2.0.4 | 2020-10-30 |
sha256sumc3b2bc477429c923c69f7f9b137e06b2a93c6a1e192d40ffad1741ee5d54760dasc |
changelog |
| 2.0.3 | 2020-10-28 |
sha256sum5d377e9b504dc9f6c9228d81c321ba85290512cdb396a12d3708b0cd30d2e20casc |
changelog |
| 2.0.2 | 2020-10-25 |
sha256sum5e122edd0f2a4fb01172b6b1c156b3d252d9205105b4ad169a4b09913ba6a859
|
changelog |
| 2.0.1 | 2020-10-24 |
sha256sum4b4b118cc54662e4813ba86efb215fdb19c5b29944c5919b4f2803c915aa2234
|
changelog |
| 2.0.0 | 2020-10-24 |
sha256sum139657aa2b37867800292724145e3c4895f7755d845758b403dc329d17bdd285
|
changelog |
| 2.0.0-RC2 | 2020-10-14 |
sha256sum337b69c2fbf56c158538b7521bea6b09c42a29d39c4b8b25e55d21ba1440f807
|
changelog |
| 2.0.0-RC1 | 2020-09-10 |
sha256sum0d3a60be9515c87d6c061899ddaa23aa1476b34f7c0f75e562a928f58019f973
|
changelog |
| 2.0.0-alpha3 | 2020-08-03 |
sha256sum56acbd0b4c3314dac87a04fe44fe55bdfc117da38dfee8fd29528093d1e704bf
|
changelog |
| 2.0.0-alpha2 | 2020-06-24 |
sha256sum6490fc59e48bf1ea5f3301cde071a56dc63e9a7dbb5540a94501bec570cabd5d
|
changelog |
| 2.0.0-alpha1 | 2020-06-03 |
sha256sum22ff90cd50d331bfab5c4eef35b5290a83a5bf7fadf52d47b72aade01e893920
|
changelog |
| 1.10.27 | 2023-09-29 |
sha256sum230d28fb29f3c6c07ab2382390bef313e36de17868b2bd23b2e070554cae23d2
|
changelog |
| 1.10.26 | 2022-04-13 |
sha256sumcbfe1f85276c57abe464d934503d935aa213494ac286275c8dfabfa91e3dbdc4
|
changelog |
| 1.10.25 | 2022-01-21 |
sha256sum6b089bd8b78b00c3c15d7b13353fbcbdf16a3f5248203c9a3e76f13948f2de92
|
changelog |
| 1.10.24 | 2021-12-09 |
sha256sum542ce16add6fd5ecfb0049dd49a0214e69a966a602b42c215adb19438c13a890
|
changelog |
| 1.10.23 | 2021-10-05 |
sha256sum2fc3ae370a979602a3bc2c950a38db02e51b4ca2072f7b8e15a518b443b835e7
|
changelog |
| 1.10.22 | 2021-04-27 |
sha256sum6127ae192d3b56cd6758c7c72fe2ac6868ecc835dae1451a004aca10ab1e0700
|
changelog |
| 1.10.21 | 2021-04-01 |
sha256sum1477d56da4a941de4203982c05b8a371ee4a9f2bb88a69f1b31c75d6bd6b8306
|
changelog |
| 1.10.20 | 2021-01-27 |
sha256sume70b1024c194e07db02275dd26ed511ce620ede45c1e237b3ef51d5f8171348d
|
changelog |
| 1.10.19 | 2020-12-04 |
sha256sum688bf8f868643b420dded326614fcdf969572ac8ad7fbbb92c28a631157d39e8
|
changelog |
| 1.10.18 | 2020-12-03 |
sha256sum322d769490aedb12f95fa5f32e2c20f5753b07700a259472db427ddcf843884b
|
changelog |
| 1.10.17 | 2020-10-30 |
sha256sum6fa00eba5103ce6750f94f87af8356e12cc45d5bbb11a140533790cf60725f1c
|
changelog |
| 1.10.16 | 2020-10-24 |
sha256sume494bb438e44b9e4782c16940b229a8c46ea8a3baa9b908bf9db310cd0171ee2
|
changelog |
| 1.10.15 | 2020-10-13 |
sha256suma69df12e86a0a18fbedfc91a33d5f9acc5cf939576e0258326074fc1b2ee1aea
|
changelog |
| 1.10.14 | 2020-10-13 |
sha256sumec8c97badf06c1d51bdc2fe16d75bc7306a08a112b12a34563ff8da5d6621db7
|
changelog |
| 1.10.13 | 2020-09-09 |
sha256sum5ca7445cfd48dd27c5a84aa005a47b4d9fd91132313830609875df3a6973708f
|
changelog |
| 1.10.12 | 2020-09-08 |
sha256sumad32ebf620bffabe1e680802da610e8ba2eea4ecbbd76df973ce47d2ff192cba
|
changelog |
| 1.10.11 | 2020-09-08 |
sha256sum6c4e61d21d2dd2c30da5e8dc244b302939678abaca82196eb0cf5ed7c9f4b143
|
changelog |
| 1.10.10 | 2020-08-03 |
sha256sum8f16aa77b1236ed40855d8d141c0a939d108a939c8e73f9f32eadd3f05f181b9
|
changelog |
| 1.10.9 | 2020-07-16 |
sha256sum70d6b9c3e0774b398a372dcb7f89dfe22fc25884e6e09ebf277286dd64cfaf35
|
changelog |
| 1.10.8 | 2020-06-24 |
sha256sum4c40737f5d5f36d04f8b2df37171c6a1ff520efcadcb8626cc7c30bd4c5178e5
|
changelog |
| 1.10.7 | 2020-06-03 |
sha256sumb94b872729668de5b5fbf62f16ff588d2a23480dda88c0e45cb43b721b75ae29
|
changelog |
| 1.10.6 | 2020-05-06 |
sha256sum29bdac1bda34d8902b9f9e4f5816de08879b8f3fafad901e4283519cdefbee7b
|
changelog |
| 1.10.5 | 2020-04-10 |
sha256sumd5f3fddd0be28a5fc9bf2634a06f51bc9bd581fabda93fee7ca8ca781ae43129
|
changelog |
| 1.10.4 | 2020-04-09 |
sha256sum642df93a823f7d45ea544b337542a405ceb3e6c0b7b04d48574801ca364bfa9a
|
changelog |
| 1.10.3 | 2020-04-09 |
sha256sum2e162689cbb198943be915247c3cb34ba7810f9ee3c608288c6775668b22a98d
|
changelog |
| 1.10.2 | 2020-04-09 |
sha256sum1faea4a90f74692a765181a3025ada7c8ed1a8f87ca3fae229471876841d8484
|
changelog |
| 1.10.1 | 2020-03-13 |
sha256sum1831f266580f221189dc04d4b58d7fc50c934ffc3a0eca89ecb4a53aa44867e2
|
changelog |
| 1.10.0 | 2020-03-10 |
sha256sum8ced713bde2d89468c3385588daf27dc6fc7bc7619f95239068608d303700b09
|
changelog |
| 1.10.0-RC | 2020-02-14 |
sha256sum58c5d690ec1ee348efed8d59e529dd322bca1d4f588d08eb20100f1c855bade4
|
changelog |
| 1.9.3 | 2020-02-04 |
sha256sum551655c2fc81f4106508f42bbc4b24eabd34b022b13bc1e7d9642bf483d0a7d4
|
changelog |
| 1.9.2 | 2020-01-14 |
sha256sum58753998712ae435915a452d701ae28a9389653bbf36b3b6adf24e03d90a9467
|
changelog |
| 1.9.1 | 2019-11-01 |
sha256sum1f210b9037fcf82670d75892dfc44400f13fe9ada7af9e787f93e50e3b764111
|
changelog |
| 1.9.0 | 2019-08-02 |
sha256sumc9dff69d092bdec14dee64df6677e7430163509798895fbd54891c166c5c0875
|
changelog |
| 1.8.6 | 2019-06-11 |
sha256sumb66f9b53db72c5117408defe8a1e00515fe749e97ce1b0ae8bdaa6a5a43dd542
|
changelog |
| 1.8.5 | 2019-04-09 |
sha256sum4e4c1cd74b54a26618699f3190e6f5fc63bb308b13fa660f71f2a2df047c0e17
|
changelog |
| 1.8.4 | 2019-02-11 |
sha256sum1722826c8fbeaf2d6cdd31c9c9af38694d6383a0f2bf476fe6bbd30939de058a
|
changelog |
| 1.8.3 | 2019-01-30 |
sha256sum5733ae9516e9185b7c3328d16dac75f3475f8ef137572dfb497f0f298157df33
|
changelog |
| 1.8.2 | 2019-01-29 |
sha256sum489025eb489a2a70b8cdd7acd53f530e7be22a342b8c971a9d73091b898c7aed
|
changelog |
| 1.8.1 | 2019-01-29 |
sha256sumded65cb32160648146a264eaf4b4919308b3f1fdc8e38a0dde8406396860dfab
|
changelog |
| 1.8.0 | 2018-12-03 |
sha256sum0901a84d56f6d6ae8f8b96b0c131d4f51ccaf169d491813d2bcedf2a6e4cefa6
|
changelog |
| 1.7.3 | 2018-11-01 |
sha256sumbc6cbcd2c0fbc03c7ab87442b5f1fbc9407f0b9900bddc10d755bdc81bbe7b6e
|
changelog |
| 1.7.2 | 2018-08-16 |
sha256sumec3428d049ae8877f7d102c2ee050dbd51a160fc2dde323f3e126a3b3846750e
|
changelog |
| 1.7.1 | 2018-08-07 |
sha256sum1c0e95dc3f33985f9eeabb6f57896c0f9d46b7c9e70ad7bf2210a5508869a8fa
|
changelog |
| 1.7.0 | 2018-08-03 |
sha256sum88068af567884a6266ef255d3d17053f583c9074dc75161b7a35eda8e553849a
|
changelog |
| 1.7.0-RC | 2018-07-24 |
sha256sum902d97573567b72a07754b20c64949ba878bb85571c0d3e5c6ddae66ffb278c0
|
changelog |
| 1.6.5 | 2018-05-04 |
sha256sum67bebe9df9866a795078bb2cf21798d8b0214f2e0b2fd81f2e907a8ef0be3434
|
changelog |
| 1.6.4 | 2018-04-13 |
sha256sum8d0d9246f68532cc8fd6a47a58d195f0c849d26430f93c397a3176fc2d971ded
|
changelog |
| 1.6.3 | 2018-01-31 |
sha256sum52cb7bbbaee720471e3b34c8ae6db53a38f0b759c06078a80080db739e4dcab6
|
changelog |
| 1.6.2 | 2018-01-05 |
sha256sum6ec386528e64186dfe4e3a68a4be57992f931459209fd3d45dde64f5efb25276
|
changelog |
| 1.6.1 | 2018-01-04 |
sha256sum71b6701ab75c93d0986b3e906d9d2586f0ae1b3e611583210a9542021861f581
|
changelog |
| 1.6.0 | 2018-01-04 |
sha256sum45031b4ae95bb6f4bdd33704a1932bfb8b56f5a590ee16b4946f481903c28fd1
|
changelog |
| 1.6.0-RC | 2017-12-19 |
sha256sumfbbc2a8085331976ff08a7920230a30e38b847b1f3bfbae54e1c0ea6676b2fae
|
changelog |
| 1.5.6 | 2017-12-18 |
sha256sum25e75d72818c4f1d46b3ae47a8deaaf4ef25c87198329d4a6ee53601b00459e5
|
changelog |
| 1.5.5 | 2017-12-01 |
sha256sum8ef8c4fb73c8cc1e950119799aec31e0ae5913dab8dd8f53d9c2e3985ac3ad2b
|
changelog |
| 1.5.4 | 2017-12-01 |
sha256sumb85461bb94c1abf1ccaa6832a7992c08d2d851f844c575626766554bd96de8c3
|
changelog |
| 1.5.3 | 2017-11-30 |
sha256sumf50e3b1d7daa6afc532341e52735db32819310cb2f63cb166f69dc7e074a657e
|
changelog |
| 1.5.2 | 2017-09-11 |
sha256sumc0a5519c768ef854913206d45bd360efc2eb4a3e6eb1e1c7d0a4b5e0d3bbb31f
|
changelog |
| 1.5.1 | 2017-08-09 |
sha256sum2745e7b8cced2e97f84b9e9cb0f9c401702f47cecea5a67f095ac4fa1a44fb80
|
changelog |
| 1.5.0 | 2017-08-08 |
sha256sum8a9f570241f1f858529c13f4d09d38b3379fe1a1d27cb74bc71093f1a8f1b225
|
changelog |
| 1.4.3 | 2017-08-06 |
sha256sum03fc40c59e1e5711d61d6f340e9159ac94701107e0fe05aa795b611d004bdf35
|
changelog |
| 1.4.2 | 2017-05-17 |
sha256sum6b1945c3ee477f12be508a5bb41a5025d57de5510bcf94855ae6a4d59f3d86f4
|
changelog |
| 1.4.1 | 2017-03-10 |
sha256sumabd277cc3453be980bb48cbffe9d1f7422ca1ef4bc0b7d035fda87cea4d55cbc
|
changelog |
| 1.4.0 | 2017-03-08 |
sha256sum2e2d851f9ff3c9b526bfecc2e7f020cc7a74d8f64fbb403061d13f23f091a137
|
changelog |
| 1.3.3 | 2017-03-08 |
sha256sum2a63562e756a27b0f0391461bcf06306b3cfdaef54beec3728dde94e94a99d96
|
changelog |
| 1.3.2 | 2017-01-27 |
sha256sum6a4f761aa34bb69fca86bc411a5e9836ca8246f0fcd29f3804b174fee9fb0569
|
changelog |
| 1.3.1 | 2017-01-07 |
sha256sumf3e0faddf49039edf40ab62c497e0926286e8871a50228fd90ea91dcebbd15c3
|
changelog |
| 1.3.0 | 2016-12-23 |
sha256sum92ce3125cae2015c5c1f7657e78a6e239ff47b714eb1418288abf45d55f3be27
|
changelog |
| 1.3.0-RC | 2016-12-11 |
sha256sume21e98f17932a49a00bfbb1397b62c79f4e22937b09ff4d2fec92fca82381011
|
changelog |
| 1.2.4 | 2016-12-06 |
sha256sum3c900579659b79a4e528722e35bd160c86090e370e9cb41cc07c7a22c674c657
|
changelog |
| 1.2.3 | 2016-12-01 |
sha256sum3378c1422bffa09c29714aefd3240b963ce7731e71ae8894d9c7991101325cb8
|
changelog |
| 1.2.2 | 2016-11-03 |
sha256sumc6ae4e099351233f5f82ade9738475eec6587aadf9ffe66fec4c350b329fbb32
|
changelog |
| 1.2.1 | 2016-09-12 |
sha256sumc2e04040b807a8530e5c83de56bdaaf63a0f183f8fd449bbe6e41f660e647427
|
changelog |
| 1.2.0 | 2016-07-18 |
sha256sumdc80131545ed7f7b1369ae058824587f0718892f6a84bd86cfb0f28ab5e39095
|
changelog |
| 1.2.0-RC | 2016-07-04 |
sha256sum1e1dddd7fbccd5de565cfb0429020d4f9f95a6207b48952d939aadcf891d2fdc
|
changelog |
| 1.1.3 | 2016-06-26 |
sha256sum4349ef555c8478b8fe148b10957bc40d696ce7b8cdeb7d50d3d684a854dca5cc
|
changelog |
| 1.1.2 | 2016-05-31 |
sha256sum7af2409080619e2ba98e78d7675710c23acf2ccf088d4439a4f79c33ed85c505
|
changelog |
| 1.1.1 | 2016-05-17 |
sha256sum7f26efee06de5a1a061b6b1e330f5acc9ee69976d1551118c45b21f358cbc332
|
changelog |
| 1.1.0 | 2016-05-10 |
sha256sumd8e1d21081b7076dfc9a570620e082111ab196dabd83780e50025c52d62b801c
|
changelog |
| 1.1.0-RC | 2016-04-29 |
sha256sum31e771ed24f3db45019a073fe9e43a6a8e75249962012955cd105ebec0a08100
|
changelog |
| 1.0.3 | 2016-04-29 |
sha256sum78c5c0e3f41dcd4d6ee532d9ae7e23afa33bdd409d8824dff026f3991d6ad70a
|
changelog |
| 1.0.2 | 2016-04-21 |
sha256sum264673ccee900b22192605b8c74ecb77c45a5197347edacd142699866c478f4c
|
changelog |
| 1.0.1 | 2016-04-18 |
sha256sumde069dae8c7bf01adedc925d3ac2358e5318a1b05580b001aa04e585fa55d8c0
|
changelog |
| 1.0.0 | 2016-04-05 |
sha256sum1acc000cf23bd9d19e1590c2edeb44fb915f88d85f1798925ec989c601db0bd6
|
changelog |
| 1.0.0-beta2 | 2016-03-27 |
sha256sum128f8c7ad49a71e4abda885ca52c603e370d5cbed85479ae1eab4a58a398a6a4
|
changelog |
| 1.0.0-beta1 | 2016-03-03 |
sha256sum4344038a546bd0e9e2c4fa53bced1c7faef1bcccab09b2276ddd5cc01e4e022a
|
changelog |
| 1.0.0-alpha11 | 2015-11-14 |
sha256sum47347f16d366145eafb45d2e800012dc80cb8fc08d1d299849825c51465381ac
|
changelog |
| 1.0.0-alpha10 | 2015-04-14 |
sha256sum9f2c7d0364bc743bcde9cfe1fe84749e5ac38c46d47cf42966ce499135fd4628
|
changelog |
| 1.0.0-alpha9 | 2014-12-07 |
sha256sum33ef1c07649bc1e135e73f0944415753233faf803cff493006f8bd9e744ff1f4
|
changelog |
| 1.0.0-alpha8 | 2014-01-06 |
sha256sum1c73973d7cfb73f3e6b425b943a3e1459f5199984f37f008c48cf2b671dd3f2b
|
changelog |
| 1.0.0-alpha7 | 2013-05-04 |
sha256sum8fb4ac2da72856394b4bdd65d470797b23c27d496821a456046527fe6ccc9786
|
changelog |
| 1.0.0-alpha6 | 2012-10-23 |
sha256sumeacac2a637de230e6091fdb45e893705049f929c271a5dc90d2c9eac0f44c5c4
|
changelog |
| 1.0.0-alpha5 | 2012-08-18 |
sha256sum7e0fd9248b0f03ddbb3d20d4be2d130fecce432b66ff96f6e99a906f85d82796
|
changelog |
| 1.0.0-alpha4 | 2012-07-04 |
sha256sumb1f5737a3916ad34f74566be51d21f3597d9aebaa382d942c5bda4d1338008b3
|
changelog |
| 1.0.0-alpha3 | 2012-05-13 |
sha256sum7cac0a430602342a60949e580d49fefde57b5ff53d4b488e18d78aabf57eef19
|
changelog |
| 1.0.0-alpha2 | 2012-04-03 |
sha256sumacc373396d66d0083231a9d90691886e894ccca778398258e44c3dab60db2363
|
changelog |
| 1.0.0-alpha1 | 2012-03-01 |
sha256sumdd703cf132b2a6bb9b2a407ef8834cab9f433cf04f252f1a125b09f8f7a46912
|
changelog |
Contents
- 1 Что такое Composer?
- 2 Скачивание Composer — инсталлятор для Windows
- 3 Установка Composer на Windows 10
- 4 Первая команда в Composer. Как использовать Composer на Windows?
- 5 Другие примеры команд для Composer
- 5.1 Flarum
- 5.2 Laravel
- 6 Описание команд Composer
- 7 Использованные ресурсы для написания статьи
Composer — это пакетный менеджер уровня приложений для языка программирования PHP, который предоставляет средства по управлению зависимостями в PHP-приложении. Вы можете описать от каких библиотек зависит ваш проект и Composer установит нужные библиотеки за вас! Причём Composer — это не менеджер пакетов в классическом понимании.
В двух словах как работает Composer:
- У вас есть проект на PHP, который зависит от нескольких библиотек.
- Некоторые из этих библиотек зависят от других библиотек.
- Вы описываете в своём проекте те библиотеки, от которых непосредственно зависит ваш код.
- Composer находит нужные версии требуемых библиотек для всего проекта, скачивает их и устанавливает в папку вашего проекта.
Скачивание Composer — инсталлятор для Windows
- Заходим на сайт https://getcomposer.org/
- Заходим в раздел Download
- В подразделе Windows Installer скачиваем Composer-Setup.exe
Установка Composer на Windows 10
Для работы Composer Требуется PHP (необходимо заранее установить на windows php).
Порядок инсталляции Composer на винду:
1. Запускаем дистрибутив с админскими правами:
2. Выполняем поэтапно все пункты инсталлятора (почти всегда нажимать нужно Далее/Next), Только с php нужно выбрать директорию:
Выбираем php.exe в директории с php (инсталляция Php производится отдельно)
Обновляем php.ini (файл с настройками php):
Прокси не нужен
Устанавливаем Composer:
Первая команда в Composer. Как использовать Composer на Windows?
Сразу после инсталляции php и composer, эти команды не будут запускаться в сторонних папках. Если у Вас нет доступа к переменным окружения, то запустить Composer можно следующим образом.
Для примера скачаем с помощью Composer проект для подключения к API (Гугловский PHP проект):
- Создаем на диске С папку C:\Composer_install. В ней будем создавать проекты. Создадим проект «New» (папку C:\Composer_install\New):
- Скопируем в папку C:\Composer_install\New файлы из папки C:\ProgramData\ComposerSetup\bin;
- Запустим команду composer для скачивания проекта google analytics:
|
C:\php\php.exe composer.phar require «google/apiclient:^2.0» |
Если появится ошибка «Failed to download psr/http-message from dist: You must enable the openssl extension to download files», то нужно включить в php.ini параметр extension=php_openssl.dll, а в composer.json скорей всего понадобится включить строчки:
|
{ «config»: { «disable-tls»: true, «secure-http»: false } } |
Как настроить переменную окружения PATH для php и composer:
После установки переменных обязательно перезапустите Windows. После рестарта винды команда composer будет запускаться в простом виде:
|
composer require «google/apiclient:^2.0» |
Другие примеры команд для Composer
Flarum
|
composer create—project flarum/flarum —stability=beta |
Результат работы composer Для скачивания проекта Flarum:
Laravel
|
composer global require «laravel/installer» |
Описание команд Composer
| Команда Composer | Описание команды |
|---|---|
composer require vendor/package |
Добавляет требуемый пакет в файл composer.json и устанавливает его в ваш проект.
Команда |
composer install |
Если файла composer.lock нет, резолвит зависимости исходя из composer.json и создаёт его. Далее, анализирует файл composer.lock, скачивает и устанавливает указанные в нём версии пакетов.Опция --no-scripts полезна для обхода запуска скриптов, указанных в pre- и post- настройках. |
composer update |
Обновляет ваши зависимости до последних версий и обновляет composer.lock.
Команда |
composer update --lock |
Иногда, вы можете получить такое предупреждение:
Это может произойти после того, как вы вручную редактировали Поэтому, чтобы подавить это предупреждение, вы можете просто запустить команду |
composer dump-autoload --optimize |
Если вам нужно обновить загрузчик, т. к. появились новые классы, вы можете выполнить команду dump-autoload чтобы избежать установки или обновления пакетов.
Используйте ключ —optimize для преобразования PSR-0 в автозагрузку как для classmap, чтобы автозагрузчик был наиболее быстрым. Это настоятельно рекомендуется для production (вы можете получить 20% прирост), но может занять немного времени для запуска, так что это на данный момент не сделано по умолчанию. Также вы можете использовать |
composer about |
Краткая информация о Composer. |
composer archive vendor/package |
Создать архив для указанного пакета. Команда также может быть использована для архивирования всего проекта без исключенных/игнорируемых файлов. |
composer browse |
Псевдоним для home, открывает URL пакета или его домашнюю страницу в браузере. |
composer clear-cache |
Псевдоним команды clearcache, очищает внутренний кэш пакетов Composer-а. |
composer config --list |
Позволяет редактировать некоторые основные параметры Composer-а либо в локальном файле composer.json, либо в глобальном файле config.json. |
composer create-project vendor/package dir/ |
Создать новый проект из указанного пакета в указанном каталоге. |
composer depends vendor/package |
Сообщает вам какие другие пакеты зависят от конкретного (указанного) пакета. Вы можете указать какие типы связей (require, require-dev) должны быть включены в листинг. По умолчанию выводятся оба. |
composer diagnose |
Если вы считаете, что нашли ошибку, или что-то ведет себя странно, возможно, вы захотите выполнить команду диагностики для выполнения автоматизированной проверки многих общих проблем. |
composer global |
Команда global позволяет другие команды такие, как install, require или update запускать так, как если бы вы запускали их из каталога COMPOSER_HOME.
Это может использоваться для того, чтобы установить командные утилиты глобально. Если вы добавите |
composer help [command] |
Отображает справки для всех других команд: composer.phar help install. |
composer init |
Создает базовый вариант файла composer.json в текущем каталоге.
При запуске команды, Composer будет интерактивно запрашивать значения полей для заполнения, используя при этом для некоторых полей умные значения по умолчанию. |
composer licenses |
Показать информацию о лицензиях зависимостей. |
composer list |
Выводит список допустимых команд. |
composer remove |
Удаляет пакет из секций require или require-dev: remove vendor/package vendor/package2. |
composer run-script |
Запустить вручную скрипты, объявленные в composer.json. Просто передайте название скрипта и при необходимости --no-dev, чтобы отключить режим dev. |
composer search ключевые слова |
Поиск пакетов.
Команда поиска позволяет вам искать в репозиториях текущего проекта (см. секцию «repositories» в |
composer self-update |
Обновление самого composer.phar до последней версии.
Запуск команды Также вы можете использовать псевдоним |
composer show |
Список всех установленных пакетов (composer show).Список всех доступных пакетов ( composer show --all).Инфо об указанном пакете или его специфичной версии ( composer show vendor/package [версия]). |
composer suggest |
Выводит список всех пакетов, предложенных установленными. Опционально вы можете передать одно или несколько имён пакетов в формате vendor/package чтобы ограничить вывод только теми, что были предложены указанными. |
composer status |
Если вам часто приходится модифицировать код своих зависимостей, а они были установленны «из исходников» (см. опцию --prefer-source команды require), токоманда status позволит вам проверить есть ли у вас локальные изменения в любой из них. |
composer validate |
Проверяет файл composer.json.
Вы всегда должны запускать команду |
Использованные ресурсы для написания статьи
- https://phpprofi.ru/blogs/post/52
2.6.5
- Fixed error when vendor dir contains broken symlinks (#11670)
- Fixed composer.lock missing from Composer’s zip archives (#11674)
- Fixed AutoloadGenerator::dump() non-BC signature change in 2.6.4 (cb363b0)
2.6.4
- Security: Fixed possible remote code execution vulnerability if composer.phar is publicly accessible, executable as PHP, and register_argc_argv is enabled in php.ini (GHSA-jm6m-4632-36hf / CVE-2023-43655)
- Fixed json output of abandoned packages in audit command (#11647)
- Fixed autoloader suffix to reuse the content-hash from lock file if available to make for more reproducible builds by default (#11663)
- Performance improvement in pool optimization step (#11638)
- Performance improvement in
show -a <packagename>(#11659)
2.2.22
- Security: Fixed possible remote code execution vulnerability if composer.phar is publicly accessible, executable as PHP, and register_argc_argv is enabled in php.ini (GHSA-jm6m-4632-36hf / CVE-2023-43655)
- Fixed authentication issue when downloading several files from private Bitbucket in parallel (#11464)
- Fixed handling of broken junctions on windows (#11550)
- Fixed loading of root aliases on path repo packages when doing partial updates (#11632)
- Fixed parsing of lib-curl-openssl version with OSX SecureTransport (#11534)
- Fixed binary proxies not being transparent when included by another PHP process and returning a value (#11454)
- Fixed support for plugin classes being marked as readonly (#11404)
- Fixed GitHub rate limit reporting (#11366)
- Fixed issue displaying solver problems with branch names containing
%signs (#11359)
1.10.27
2.6.3
- Added audit.abandoned config setting. Can be set to
ignore,report(current default) orfail(future default in 2.7) to make the audit command report abandoned packages as a security problem (#11639) - Added a warning when duplicates
filesautoload rules are detected (#11109) - Fixed unhandled promise rejection regression (#11620)
- Fixed loading of root aliases on path repo packages when doing partial updates (#11632)
- Fixed
archivecommand not producing the correct output if the temp dir is a symlink (#11636) - Fixed some replaced packages being incorrectly missing when unlocked in a partial update (#11629)
2.6.2
- Reverted «Fixed binary proxies causing scripts inspecting
$_SERVER['SCRIPT_NAME']to detect them, they are now more transparent (#11562)» which caused a regression (#11617) - Fixed non-zero exit code on failed audits to only apply to
install --auditruns and not implicit audits withrequire,create-projectorupdatecommands (#11616) - Fixed
create-projectinfinite post-install loop in some circumstances (#11613)
2.6.1
- Reverted «Fixed executability of non-php binaries which are not marked executable (#11557)» which caused a regression (#11612)
2.6.0
- Added audit.ignore config setting to ignore security advisories by id or CVE id (#11556, #11605)
- Added
rmalias to theremovecommand (#11367) - Added runtime platform check to verify the php-64bit requirement is met (#11334)
- Added platform package detection for lib-pq-libpq and lib-rdkafka-librdkafka (#11418)
- Added
--dry-runtodump-autoloadcommand to allow running —strict-psr checks without modifying the filesystem (#11608) - Added support for
bumping patch level in~1.2.3constraints (#11590) - Added prompt in
requireif the package name is not found but similar ones exist (#11284) - Added support for env vars and
~in repository paths for vcs and artifact repositories (#11453) - Added support for local directory paths for repositories of type
composer(#11526) - Added links to package homepages in
why/why-notcommand output (#11308) - Added a
securitykey to thesupportkey of composer.json to set the URL to the vulnerability disclosure policy (#11271) - Added support for gathering security advisories from multiple repositories for a single package (#11436)
- Fixed
installexit code to be non-zero (5) if a requested security audit failed (#11362) - Fixed binary proxies causing scripts inspecting
$_SERVER['SCRIPT_NAME']to detect them, they are now more transparent (#11562) (Reverted in 2.6.2) - Fixed executability of non-php binaries which are not marked executable (#11557) (Reverted in 2.6.1)
- Fixed
mtimemodification of the vendor dir to only happen when packages are modified, and not require lock file modification to happen (#11593) - Fixed
create-projectusing the wrong composer.json file if one was set via theCOMPOSERenv var (#11493) - Fixed json editing to preserve indentation when updating json files (#11390)
- Fixed handling of broken junctions on windows (#11550)
- Fixed parsing of lib-curl-openssl version with OSX SecureTransport (#11534)
- Fixed svn repo parsing in some edge cases (#11350)
- Fixed handling of archive URLs without file extension (#11520)
- Performance improvement in pool optimization step (#11449, #11450)
2.5.8
- Fixed regression in edge cases where root package gets added to a repository already during the install process (#11495)
- Fixed EventDispatcher on windows picking bat files when using
@php binary(#11490) - Fixed ICU CDLR version parsing failing the whole process when ICU cannot initialize the resource bundle (#11492)
- Fixed type declarations on ClassLoader (#11500)
2.5.7
- Fixed regression preventing autoloading the dependencies of metapackages when running —no-dev (#11481)

Last updated on | 83 replies
In this guide we will install Composer and PHP on Windows 10 so that we can install dependencies for our web apps directly from Windows command line.
1. Download and Install Visual C++
In order to run PHP on Windows 10, you will need to install Visual C++ Redistributable for Visual Studio. You can download it from the Windows Download page or click the direct link below.
- Download: VC_redist.x64.exe (64 bit) or VC_redist.x86.exe (32 bit)
Once downloaded, run the installer and click Install.
2. Download and Extract PHP
Go to the Windows PHP download page and download the .zip of the version of PHP you require. In this guide, we are installing PHP 7.4 VC15 x64 Non Thread Safe, which is the latest version as of writing (Jan 2020).
Once downloaded, create a new folder in c:\php7 (or wherever you prefer) and extract your PHP zip to it.
3. Download and Install Composer
- Download Composer-Setup.exe from the Composer Download page.
In the second step of Composer Setup, make sure the correct path to php.exe is set and click Next.
If Setup prompts to create php.ini, allow it and click Next.
Skip the Proxy URL settings, just click Next then click Install.
Click Finish once install is complete.
4. Test PHP
If you have any Command Prompt windows currently open, close them now.
Open Command Prompt, type php -v and press Enter. You should now see the PHP version.
If it returns a PHP version, you can skip to Step 6 to test Composer.
If you get an error “‘php’ is not recognized as an internal or external command,
operable program or batch file.”, you may need to Add a Path Environment Variable.
5. Add Path Environment Variable
Composer setup usually does this for you, but if for whatever reason it didn’t, you can set one up manually.
So that you don’t have to type the whole path to php.exe every time you run a PHP command, you should add c:\php7 as a path environment variable.
Open System Properties by clicking the start menu and typing sysdm.cpl and press Enter.
In System Properties, click Environment Variables.
In System Variables, click Path and then click Edit.
Click New, type the path to your PHP folder (c:\php7) and click OK.
Close the System Properties dialogue by clicking OK.
6. Test Composer
Open up Command Prompt and type composer -V (that’s uppercase V).
If all was installed correctly, you should see a version number.
Hurrah! You can now run Composer and PHP on Windows 10.
Let me know if this helped. Follow me on Twitter, Facebook and YouTube, or 🍊 buy me a smoothie.
Composer is a dependency management tool for PHP that simplifies the process of managing libraries and packages in PHP projects. It allows developers to declare the dependencies their project needs and handles the installation and updating of those dependencies. The composer uses a centralized repository called Packagist, where thousands of open-source libraries and packages are available for easy integration into PHP projects.
By defining dependencies in a composer.json file, developers can easily manage and track their project’s dependencies, ensuring compatibility and easy maintenance. The composer has become an essential tool in the PHP ecosystem, enabling efficient dependency management and promoting code reusability.
Explore more: Download Opera GX
Features & Highlights
- Update only one vendor
- Add a library without editing your composer.json
- Easy fork. Speaking about the composer.
- Prefer dist packages and cache them.
- Prefer source to edit your vendors.
Developer
Nils Adermann and Jordi Boggiano
Requirements
Windows 7/8/10/11























