Utiliser Composer sans terminal (avec un exec PHP) ? |
Bienvenue invité ( Connexion | Inscription )
Utiliser Composer sans terminal (avec un exec PHP) ? |
4 Oct 2018, 15:30
Message
#1
|
|
Macbidouilleur d'argent ! Groupe : Membres Messages : 792 Inscrit : 14 Nov 2003 Lieu : Genève Membre no 11 656 |
Bonjour,
je ne suis pas qualifié dans ce domaine, mais une demande un peu bizarre : je cherche à ajouter/effacer une dépendance Composer depuis un script php (donc, depuis un browser et sans terminal) en local. J'utilise normalement le terminal comme tout le monde, mais là... j'expérimente un peu ! ^^ shell_exec() me semblait tout indiqué pour cela, mais encore faudrait-il avoir accès à la commande "composer" sur le serveur local (MAMP)... et c'est là que je bloque. Code chdir('/Users/moi/Documents/Sites/test'); $file = fopen ("composer.json", "w"); $content = '{ "name": "moi/test", "autoload": { "psr-4": { "App\\\": "app/" } }, "require": {'. "slim/slim": "^3.10", "slim/twig-view": "^2.4", "swiftmailer/swiftmailer": "^5.4", "respect/validation": "^1.1", "slim/csrf": "^0.8.3" '} }'; fwrite($file,$content); fclose($file); shell_exec('composer install'); la commande "composer", évidemment, ne fonctionne pas. J'ai même tenté un "shell_exec('curl -sS https://getcomposer.org/installer | php');", sans grand espoir... Ou utiliser le fichier .phar avec php composer.phar install J'ai trouvé ce post intéressant sur github. Mais comme c'est trop avancé pour moi, je n'ai pas su en tirer quoique ce soit. Pourtant, la solution semble y être. Si quelqu'un peut m'éclairer là-dessus... merci. |
|
|
5 Oct 2018, 09:38
Message
#2
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 969 Inscrit : 26 Jan 2011 Lieu : Pollachius virens Membre no 164 083 |
Il faut déjà commencer par regarder si composer est bien dans le PATH utilisé par shell_exec
Donc avant toute chose vérifier le résultat de Code shell_exec('echo $PATH'); Si composer ne s'y trouve pas il faut remédier à ce premier problème. -------------------- MBP 2017 15" avec clavier pourri et touchbar inutile
|
|
|
5 Oct 2018, 10:40
Message
#3
|
|
Macbidouilleur d'argent ! Groupe : Membres Messages : 792 Inscrit : 14 Nov 2003 Lieu : Genève Membre no 11 656 |
je comprends un peu le principe.
Code echo shell_exec('echo $PATH'); m'affiche : Citation /usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:. Sur le terminal, en revanche... Code echo $PATH m'affiche : Citation /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin Dans le terminal, en faisant un ls dans /usr/local/bin, je trouve bien composer... En revanche, pour le site en local, je ne vois pas bien comment procéder pour vérifier... |
|
|
Nous sommes le : 27th April 2024 - 01:46 |