Para mostrar as novidades do WordPress 5.1 lá no canal do YouTube, precisei criar um ambiente com uma versão PHP mais antiga. Depois de muito pesquisar, acabei montando uma imagem para docker baseada em uma imagem legada do pessoal da 10up.

Criei um repositório no GitHub com os arquivos da imagem e vou deixar aqui em português as instruções para uso:

  1. Defina a pasta que será a raiz do seu projeto.
  2. Crie uma pasta dentro dela chamada dev. Essa pasta será a “raiz do localhost”, ou seja, será mapeada para a pasta /var/www/html do Apache. Se você não criar esta pasta, ela será criada pelo próprio docker, mas com o usuário root como proprietário, o que pode chatear na hora de criar novos arquivos.
  3. Crie uma pasta chamada db_data. Essa pasta será usada para guardar os arquivos do banco de dados. Esse passo é opcional, porque o docker pode criar essa pasta para você e, como você não vai modificar nada nessa pasta “na mão”, na faz muita diferença quem é o proprietário.
  4. Crie um arquivo docker-compose.yml com o conteúdo abaixo na raiz do projeto. NÃO crie dentro da dev.
version: '3'

services:
  wordpress:
    build: https://github.com/felipeelia/docker-php5.4-apache.git
    links:
      - mysql
    ports:
      - 80:80
    volumes:
      - ./dev/:/var/www/html

  mysql:
    image: mariadb
    volumes:
      - ./db_data/:/var/lib/mysql
    ports:
     - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

volumes:
    db_data:

E é isso. Vai demorar um pouco da primeira vez porque o docker precisa montar a imagem, mas depois fica rapidinho. Você pode criar um arquivo para testar o php dentro da pasta dev e ver se tudo funcionou direitinho. Só lembre-se que o PHP 5.4 é uma versão muito antiga do PHP e NÃO deve ser usada em produção, jamais. Use só para testes, ok?

A atualização de PHP é um dos principais focos do WordPress 5.1. Para saber mais sobre o assunto, veja a parte 1 das novidades do WP 5.1 no canal: