ARTIFACTORY: How to install composer PHP packages?

Elina Floim
2022-04-10 09:07

In order for the composer client to work with Artifactory, the composer.json file should be configured to include the composer remote/virtual repository in Artifactory. This can be configured under the repositories section of the file, as follows:{
"repositories": [
"type": "composer",
"url": "http://$ARTIFACTORY_HOST/artifactory/api/composer/$repository_name/",
"options": {
"ssl": {
"verify_peer": false,
"allow_self_signed": true
"require": {
"monolog/monolog": "^2.0",
"doctrine/dbal": "3.2.0",
"kassner/log-parser": "2.1.0",
"foxy/foxy": "1.2.0"
"config": {
"secure-http": false,

When working against Artifactory on the HTTP protocol, the SSL validation (under the “ssl” section), along with the “config” section, is optional. 
In this example, the monolog/monolog, doctrine/dbal, kassner/log-parser, and the foxy/foxy packages will be installed. These packages are available under the registry. 

Next, either one of the following commands should be run from the directory containing the composer.json file (add the -vvv flag for verbosity), depending on the need to update the dependencies specified in the composer.json or to install the dependencies specified in the composer.lock file (without updating):composer update -vvv
composer install -vvv

Reviewing the remote-cache repository, the requested packages are cached successfully:

User-added image

To configure the Artifactory credentials, the auth.json file should be configured as well. Generally, it should contain the following:{
    "http-basic": {
        "$ARTIFACTORY_HOST": {
            "username": "$USER",
            "password": "$PASSWORD"

More information can be found on the PHP Composer repositories documentation page. 

NOTE: In this example, the composer 2.2.9 was used along with ​​PHP 7.4.3. 
Working against virtual repositories using composer V1 is not supported. When working against virtual repositories, composer V2 should be used.