我正在尝试在php-fpm docker容器和RDS Postregsql之间建立连接。我发现我的php应用程序出现“调用未定义函数pg_connect()”的错误。所以我认为也许问题出在我的php.ini中没有启用pgsql驱动程序。因此,我尝试启用它,方法是首先在Dockerfile中添加一行,重建映像,然后关闭容器并再次将其打开。但是我收到了相同的错误“调用未定义的函数pg_connect()。所以我想在容器中运行phpinfo()来查看pgsql驱动程序是否已加载。我尝试使用docker exec 4822 / bin来运行它/ bash向容器打开cli,但是主机cli刚带回$。如何在容器中运行phpinfo(),以便弄清为什么$ DB2 = $ this-> load-> database(' postgres'(TRUE)失败,出现上述错误?我正在使用Codeigniter,这是连接数组:
enter code here
enter code here
对不起,我无法使用这种格式。无论如何,这是dsn 'dsn'=>'jdbc:postgresql://imagesdatabase.cwymdn16cxes.us-east-1.rds.amazonaws.com:5432 / postgres'
答案 0 :(得分:1)
在$提示符下:
php
应启动PHP进程。然后:
<?php phpinfo();
将显示phpinfo()输出。您将需要以Control-D结束php进程,然后应显示所有输出。
答案 1 :(得分:1)
关注此https://www.php.net/manual/en/features.commandline.interactive.php
这将帮助您如何使用interactive command line PHP
。
如果DockerImage
基于PHP
或PHP installed
中有docker container
,则可以使用此功能。您需要在docker terminal
中执行以下命令
$ php -a
Interactive shell
php > echo 5+8;
13
答案 2 :(得分:0)
我终于意识到,由于我的开发中是php,为什么不将phpinfo()插入到启动程序中。我做到了,效果很好!所有这些努力只是为了确认pgsql驱动未加载!以这种速度,我将需要余生来完成申请application。