I’m taking my first steps with Docker, specifically with wordpress official image, which is just amazing to use.
However, after installing (via docker-compose as below) and checking phpinfo() it appears that output_buffering = 0. I spent the weekend trying to find the best way to expose, or bind to php.ini to set it to on without success. Could I ask for your guidance on the best way to achieve this, please?
Thanks
version: '3.1'
services:
wordpress:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
volumes:
- wordpress:/var/www/html
- ./wp-content:/var/www/html/wp-content
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- db:/var/lib/mysql
volumes:
wordpress:
db:
Advertisement
Answer
There are several ways to achieve your goal (see below) but here is a straightforward example
Inside your docker-compose project, create an ob.ini
file containing:
output_buffering=1
Modify your wordpress
service volumes as follow:
volumes:
- wordpress:/var/www/html
- ./wp-content:/var/www/html/wp-content
- ./ob.ini:/usr/local/etc/php/conf.d/ob.ini
You can achieve the same goal by extending the WordPress image and copying that file inside the given dir, or create it during build, or append the directive to an other existing ini file there…
Since wordpress image is based on the php image read more info there on how to customize it to your liking.