我曾经使用此命令在以前的Amazon AMI上执行tinker
:
sudo -E -u webapp php artisan tinker
现在我正在使用PHP 7.4 on Amazon Linux 2
,当我执行上述命令时,出现此错误:
Unable to create PsySH runtime directory. Make sure PHP is able to write to /run/user/1000 in order to continue.
因此,为了进行测试,我授予了该文件夹的完全许可权,然后再次执行我的命令:
sudo chmod 777 /run/user/1000
sudo -E -u webapp php artisan tinker
实际上,没有错误,但是没有加载环境变量,例如RDS_PASSWORD
或RDS_DB_NAME
,因此无法执行数据库操作:
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)'
我也尝试从外壳程序中echo
该变量,我得到了相同的结果:
sudo su webapp
sh-4.2$ echo $RDS_DB_NAME
# Empty here
运行sudo -E -u webapp php artisan config:clear
,然后再次尝试修补。