Exécution en ligne de commande
Transférer le nom du fichier .env à utiliser
Dans CodeIgniter, avec le module PPCI, le fichier .env est chargé automatiquement en prenant en compte le contenu de la variable $_SERVER["envPath"], avec ce code :
if (is_file($file = $_SERVER["envPath"] . DIRECTORY_SEPARATOR . ".env") && is_readable($file)) {
(new CodeIgniter\Config\DotEnv($_SERVER["envPath"],".env"))->load();Dans un script, pour transférer la valeur de envPath dans la variable $_SERVER et permettre le chargement du fichier .env, il faut ajouter la ligne :
export envPath="/var/www/instances/instancename"Voici un exemple d’utilisation, pour afficher simplement le contenu de la variable $_SERVER["envPath"] :
Fichier PHP test.php :
<?php
echo $_SERVER["envPath"].PHP_EOL;Script test.sh utilisé pour son déclenchement :
#!/bin/bash
export envPath=/var/www/instances/instancename
cd $envPath/public
php index.php marouteoù maroute correspond à la route à appeler.
Déclarez la route dans app/Config/Routes.php (sans oublier le contrôleur correspondant), puis lancez l’exécution du script :
./test.sh
/var/www/instances/instancename