为什么我不能在docker容器中运行phpinfo()?

时间:2020-05-31 18:39:10

标签: php postgresql docker

我正在尝试在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'

3 个答案:

答案 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基于PHPPHP installed中有docker container,则可以使用此功能。您需要在docker terminal中执行以下命令

$ php -a
Interactive shell

php > echo 5+8;
13

答案 2 :(得分:0)

我终于意识到,由于我的开发中是php,为什么不将phpinfo()插入到启动程序中。我做到了,效果很好!所有这些努力只是为了确认pgsql驱动未加载!以这种速度,我将需要余生来完成申请application。