wordpress 容器内如何修改php.ini的upload_max_filesize 配置

首先 , 容器内没有 /etc/php 目录,那就需要通过 php --ini命令来查看配置路径。

root@8493683eed97:/var/www/html# php --ini
Configuration File (php.ini) Path: /usr/local/etc/php
Loaded Configuration File:         (none)
Scan for additional .ini files in: /usr/local/etc/php/conf.d
Additional .ini files parsed:      /usr/local/etc/php/conf.d/docker-php-ext-bcmath.ini,
/usr/local/etc/php/conf.d/docker-php-ext-exif.ini,
/usr/local/etc/php/conf.d/docker-php-ext-gd.ini,
/usr/local/etc/php/conf.d/docker-php-ext-imagick.ini,
/usr/local/etc/php/conf.d/docker-php-ext-intl.ini,
/usr/local/etc/php/conf.d/docker-php-ext-mysqli.ini,
/usr/local/etc/php/conf.d/docker-php-ext-opcache.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini,
/usr/local/etc/php/conf.d/docker-php-ext-zip.ini,
/usr/local/etc/php/conf.d/error-logging.ini,
/usr/local/etc/php/conf.d/opcache-recommended.ini

然后可以看出,主目录都在 /usr/local/etc/php

再通过 grep 命令找到想要的配置,这里是 upload_max_filesize

root@8493683eed97:/var/www/html# grep 'upload_max_filesize' -nr /usr/local/etc/php
/usr/local/etc/php/php.ini-development:853:upload_max_filesize = 2M
/usr/local/etc/php/php.ini-production:855:upload_max_filesize = 2M

然后修改对应文件。

可能需要安装 vim:

apt update && apt install vim -y

最后重启apache.

service apache2 restart

破防了。上面的步骤操作完了完全没有用。一个10年后端开发经验者被困在了修改php的一个小变量上。给我上了深深一课。

以下是能工作的步骤:
创建新文件uploads.ini

vi $PHP_INI_DIR/conf.d/uploads.ini

填写以下内容

file_uploads = On
memory_limit = 64M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 600

然后重启。

来自这里的高赞回答,其他地方的没有用。

再后来我又想新增变量,结果加到uploads.ini中也不生效。
仔细看了官网文档,是建议把php.ini-production 改名为 php.ini

 # Use the default production configuration
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"