estoy usando imagen oficial de wordpress de los estibadores para implementar entornos locales de wordpress usando Componer ventana acoplable.
despues de correr docker-compose up -d
y luego corriendo phpinfo() función en mi código de tema local, la versión actual de php en ejecución es 7.4
…
Pero si miras el repositorio oficial de imágenes de wordpress en githubpuede ver que la última versión de wordpress es compatible con la versión php 8.0…
Mi pregunta es, ¿cómo puedo implementar mi imagen acoplable de wordpress usando php8.0
?
Aquí está mi docker-compose.yml
archivo…
version: '3.7'
networks:
wordpress:
ipam:
config:
- subnet: 172.25.0.0/16
services:
# here is our mysql database
db:
image: mysql:5.7
volumes:
- ./db:/var/lib/mysql:delegated
#- ./docker/db-dumps:/docker-entrypoint-initdb.d:delegated
ports:
- "3306:3306"
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
networks:
- wordpress
# here is our wordpress server
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
# our persistent local data re routing
- ./themes/example:/var/www/html/wp-content/themes/example:delegated
- ./plugins:/var/www/html/wp-content/plugins
- ./mu-plugins:/var/www/html/wp-content/mu-plugins
- ./uploads:/var/www/html/wp-content/uploads
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
ports:
- "80:80"
restart: always
networks:
- wordpress
environment:
# our local dev environment
WORDPRESS_DEBUG: 1
# docker wp-config settings
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_AUTH_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_SECURE_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_LOGGED_IN_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_NONCE_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_SECURE_AUTH_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_LOGGED_IN_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_NONCE_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
WORDPRESS_CONFIG_EXTRA: |
/* development parameters */
define('WP_CACHE', false);
define('ENVIRONMENT', 'local');
/* configure mail server */
define('WORDPRESS_SMTP_AUTH', false);
define('WORDPRESS_SMTP_SECURE', '');
define('WORDPRESS_SMTP_HOST', 'mailhog');
define('WORDPRESS_SMTP_PORT', '1025');
define('WORDPRESS_SMTP_USERNAME', null);
define('WORDPRESS_SMTP_PASSWORD', null);
define('WORDPRESS_SMTP_FROM', 'no-reply@example.com');
define('WORDPRESS_SMTP_FROM_NAME', 'Example');
if(!defined('WP_HOME')) {
/* force our home url */
define('WP_HOME', 'http://localhost');
define('WP_SITEURL', WP_HOME);
}
# here is our mailhog server
mailhog:
image: mailhog/mailhog:latest
ports:
- "8025:8025"
networks:
- wordpress
¿Cómo defino qué versión de php usar desde el wordpress:último imagen, así que cada vez que docker-compose up -d
usa el php8.0 ¿versión?
¡Cualquier idea o consejo sería muy apreciado! 🙂
El wordpress:latest actual está en 7.4 pero puede usar uno de los etiquetas admitidas en su archivo docker-compose. En mi caso usé image: wordpress:6.0-php8.1-apache
-
Gracias por esto, sí, de hecho lo arreglé al final usando la misma etiqueta, no entendía cómo usar las etiquetas en ese entonces, pero ahora las estoy usando 👍🏼 Gracias
– joshmoto
30 de junio de 2022 a las 10:24
Estoy de acuerdo con Duncan, necesitas una versión etiquetada
image: wordpress:6.0.2-php8.0-apache
Nota: si su wordpress falla y se quema cuando lo ejecuta, puede composer down
y cambiarlo de nuevo. Es mejor deshabilitar cualquier complemento y tema no oficial antes de cambiar, ya que podrían contener código antiguo que probablemente no funcione en la última versión de php.
-
Grandes punteros. Solo estoy experimentando WP en PHP8 localmente. Todavía no estoy migrando nada porque realicé algunas pruebas de servidor en sitios de prueba actuales en PHP8, y obtengo una tonelada de registros obsoletos en
WP_DEBUG
modo de complementos (incluso complementos premium como Gravity Forms, que es molesto) y también algunos paquetes de proveedores de compositores en mi tema están devolviendo avisos obsoletos. Estoy probando con cautela el desarrollo de temas locales desde cero en PHP lang nivel 8.1 usando mi IDE para guiarme a través de la codificación de la sintaxis de PHP ‘sin advertencias’, a la que me está costando acostumbrarme. Gracias por publicar sobre mi pregunta. 👍🏼– joshmoto
12/09/2022 a las 23:31
I pensar WordPress solo admite oficialmente hasta 7.4. Si tú visitas make.wordpress.org/core/handbook/references/… verá que php 8 está clasificado como “soporte beta” con una explicación más detallada en make.wordpress.org/core/2020/11/23/wordpress-and-php-8-0 así como este problema de GitHub github.com/docker-library/wordpress/issues/540#event-4230950352
– j08691
18 de febrero de 2022 a las 22:31