我正在使用php 5.6 运行此Linux debian:jessie的Docker实例。
这是我的phpinfo的一部分:
如我们所见,php.ini应该位于
/usr/local/etc/php
Run Code Online (Sandbox Code Playgroud)
这就是我在/ usr / local / etc /中的内容
但是里面没有php.ini。
另一方面,我里面有php.ini
那么,究竟从哪里加载我的php.ini?
我们甚至没有运行php进程,但是php似乎还可以-在屏幕上显示phpinfo。
聚会有点晚了,但由于问题今天仍然相关,让我补充一个简短的答案:
官方 php:7 图像从/usr/local/etc/php文件夹中获取它们的设置。
# First log into the running container
$ docker exec -it «container_name» /bin/bash
# List folder content
$ ls /usr/local/etc/php
# Which outputs following line
conf.d php.ini-development php.ini-production
Run Code Online (Sandbox Code Playgroud)
如果需要,通过 conf.d 文件夹修改设置似乎是更好的选择,因为 xdebug 使用它。例如,您可以通过添加uploads.ini到conf.d具有以下内容的文件夹来更改上传大小:
file_uploads = On
memory_limit = 64M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 600
Run Code Online (Sandbox Code Playgroud)
ini 指令的完整列表可以在https://www.php.net/manual/en/ini.core.php找到
让我们尝试一下作为答案:
它根本不存在,这意味着php将运行默认选项。
查看您的docker文件,它从一个“干净”的操作系统开始,并在其中安装Apache和PHP。但是它从未将PHP安装中的php.ini文件复制到/ usr / local / etc / php中。实际上,在第31和32行中,它创建了conf.d目录,仅此而已。
因此,我建议在docker文件的末尾添加代码以将php.ini-production复制到/usr/local/etc/php.ini,并根据需要进行编辑。或使用默认选项。
docker php 图像查找的默认 php.ini 文件是:
/usr/local/etc/php/php.ini
Run Code Online (Sandbox Code Playgroud)
您可以在 phpinfo 函数的输出中看到这一点(只需在容器中运行“php -a”,然后在提示符处运行“phpinfo();”):
Configuration File (php.ini) Path => /usr/local/etc/php
Loaded Configuration File => /usr/local/etc/php/php.ini
Run Code Online (Sandbox Code Playgroud)
在使用 -v 选项运行容器时,您始终可以将此文件作为卷链接以获取自定义文件,例如:
docker run -v /local/path/to/php.ini:/usr/local/etc/php/php.ini [OPTIONS] IMAGE [COMMAND] [ARG...]
Run Code Online (Sandbox Code Playgroud)
我通常更喜欢使用它附带的默认 ini 文件,只需根据需要修改一些选项。如果您希望您的容器在构建期间执行此操作,您可以在 Dockerfile 中执行以下操作:
RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini && \
sed -i -e "s/^ *memory_limit.*/memory_limit = 4G/g" /usr/local/etc/php/php.ini
Run Code Online (Sandbox Code Playgroud)
上面的RUN命令会复制默认的生产ini文件,然后在ini文件中修改memory_limit并设置为4G。
我更喜欢这种方法,因为它允许使用自定义配置,因此容器在拉出时始终使用默认值,但您仍然可以选择通过传入卷来覆盖容器中的 ini 文件。
| 归档时间: |
|
| 查看次数: |
12144 次 |
| 最近记录: |