J'avais l'habitude d'exécuter tinker
sur l'AMI Amazon précédent en utilisant cette commande :
sudo -E -u webapp php artisan tinker
Maintenant, j'utilise PHP 7.4 on Amazon Linux 2
et lorsque j'exécute la commande ci-dessus, j'obtiens cette erreur :
Unable to create PsySH runtime directory. Make sure PHP is able to write to /run/user/1000 in order to continue.
Donc, afin de tester, j'ai donné la pleine permission à ce dossier et puis j'ai exécuté ma commande à nouveau :
sudo chmod 777 /run/user/1000
sudo -E -u webapp php artisan tinker
En fait, il n'y a pas d'erreur, mais les variables d'environnement telles que RDS_PASSWORD
o RDS_DB_NAME
ne sont pas chargés, ce qui rend impossible l'exécution des actions de la base de données :
Psy Shell v0.10.4 (PHP 7.4.4 — cli) by Justin Hileman
>>> env('RDS_DB_NAME')
=> null
>>> User::first()
Illuminate/Database/QueryException with message 'SQLSTATE[HY000] [2002] Connection refused
(SQL: select * from `users` limit 1)'
J'ai aussi essayé de echo
la variable à partir d'un shell, j'ai obtenu le même résultat :
sudo su webapp
sh-4.2$ echo $RDS_DB_NAME
# Empty here