---
title: "PHP : Composer (sous OpenBSD)"
date: 2019-05-27T17:24:38+02:00
description: "Comment installer configurer PHP Composer sous OpenBSD"
draft: false
tags: ["PHP", "Composer", "OpenBSD"]
---
## Description
Je ne présenterais ni [PHP](https://php.net), ni
[composer](https://getcomposer.org)…
Versions logicielles :
* PHP :
* 6.5 : 7.1.28, 7.2.17, 7.3.4
* 6.4 : 7.0.32, 7.1.22, 7.2.10
* Composer :
* 6.5 : 1.8.3
* 6.4 : 1.6.3
## Installation
Les deux "outils" sont disponibles en tant que paquets, pour l'exemple :
`pkg_add -v php-7.2 composer`
Après l'installation de **Composer**, faites une mise à jour de lui-même :
`composer self-update`
## Configuration
De même, je ne détaillerais pas la configuration ni de PHP, ni de Composer,
d'autant que par défaut pour ce dernier, il n'y a rien à faire en soit -
*il est bien sûr possible de configurer certaines options…*
Pour information, par défaut, Composer est configuré pour être exécuté
avec php-7.0 sous la 6.4, et php-7.1 sous 6.5 - qu'il installe en dépendances *(avec femail\*)*
Le problème qui se pose est que si vous utilisez php-7.2, voire php-7.3,
Composer s'exécutera avec l'environnement PHP pour lequel il est paramétré par défaut - *logique, vous me direz !*
Alors, **comment le contraindre ?**
Très facilement :
`# sed -i -e "s/php-7.x/php-7.y/" "$(which composer)"`
où :
* `7.x` est votre installation PHP par défaut,
* et `7.y` la version de PHP que vous préférez utiliser, *telle que 7.2, par exemple…*
Pour finir, on exécute ensuite un petit diagnostic :
{{< code "web-php-composer-diagnose" shell >}}
Tous les voyants sont **OK**, Composer a la dernière version en cours,
et il s'exécute bien avec la version de PHP désirée - *(ici, dans cet exemple, la 7.2 !)*
## Dépannage
### Error: Do not run Composer as root/super user
Et, oui, il n'est {{< color red >}}pas recommandé d'exécuter Composer avec des droits d'administrateurs{{}} - alors **ne le faites pas** !
Plus d'informations, sur : https://getcomposer.org/root
### Error: Missing pubkey for…
Il est possible que lors du diagnostique, vous vous retrouvez avec ce
message d'erreur sur fond rouge :
`Checking pubkeys: FAIL`
`Missing pubkey for tags verification`
`Missing pubkey for dev verification`
`Run composer self-update --update-keys to set them up`
**Il vous dit quoi faire** !!!
Donc :
{{< code "web-php-composer-self-update-keys" shell >}}
Là, le shell reste en attente jusqu'à ce que vous lui **copiez la clé demandée**,
que vous trouverez sur https://composer.github.io/pubkeys.html, puisqu'il
a même la gentillesse de vous le dire !
Si l'entrée saisie n'est pas correcte, vous aurez un message d'erreur : `Invalid input`,
il vous sera redemandé de faire la saisie !
---