从哪里加载我的php.ini?

我正在运行这个Linux Debian的Docker实例:jessie with php 5.6。

这是我phpinfo的一部分:

在这里输入图像说明

正如我们可以看到php.ini应该位于

 /usr/local/etc/php 

这就是我在/ usr / local / etc /

在这里输入图像说明

但是里面没有php.ini。

另一方面,我有php.ini里面

在这里输入图像说明

那么,从哪里我的php.ini正在加载?

我们甚至没有一个PHP进程运行,但PHP似乎是好的 – 在屏幕上显示phpinfo。

在这里输入图像说明

让我们试试看:

它根本不存在,这意味着PHP将运行默认选项。

看看你的docker文件,它从一个“干净”的操作系统开始,安装Apache和PHP。 但是它从不将php.ini文件从PHP安装复制到/ usr / local / etc / php中。 实际上在第31行和第32行创build了conf.d目录,就是这样。

所以我build议,在你的docker文件结尾添加代码,将php.ini-production复制到/usr/local/etc/php.ini,并根据需要进行编辑。 或使用默认选项。

简短的答案是你不需要一个。 如果缺less或想要添加扩展名,可以通过执行docker docker-php-ext-install或者docker-php-ext-enable在Dockerfile中执行。

大多数常见的,你可以简单地启用,例如mbstring,但对于一些不太常见的,你可能需要首先运行pecl或者其他东西来获取包。 看看这个Docker文档页面,了解更多关于php扩展的信息

我也有同样的问题。 我将php.ini文件复制到/ usr / local / etc / php中,但没有任何事情发生。 我真的需要访问这个为了debugging的PHP。 我有错误,但我不能看到他们。

有人知道怎么修这个东西吗?

我用图像php:5.6-apache使用docker-compose