La actualización de la versión de PHP resulta en advertencia "Use of undefined constant WP_CONTENT_DIR"

23 jun 2020, 18:02:14
Vistas: 20.2K
Votos: 5

En mi hosting compartido de HostGator con opción CPanel para configurar PHP por dominio, si activo PHP 7.3 (u otras versiones 7.x) para mi blog existente, obtengo una página de error:

Warning: Use of undefined constant WP_CONTENT_DIR – assumed 'WP_CONTENT_DIR' (esto lanzará un Error en una futura versión de PHP) en /my_site/public_html/wp-includes/load.php en la línea 141 Tu instalación de PHP parece no tener la extensión MySQL que es requerida por WordPress

Si busco esto en Google, todos los consejos son sobre cómo instalar mysqld, pero seguramente ya está instalado ya que hacer una instalación nueva de WordPress en un subdominio separado funciona perfectamente bajo PHP 7.3, así que debo estar pasando por alto algo en el archivo wp-config.php de mi sitio más antiguo. Sin embargo, al comparar las versiones que funcionan y las que fallan, no puedo ver una diferencia obvia.

2
Comentarios

¿Cómo resolviste esto? Tengo exactamente el mismo problema.

Abhishek Balani Abhishek Balani
17 jul 2020 16:42:13

@TheOddAbhi Debería actualizar - resultó que tenía un archivo .htaccess en mi directorio raíz - el que está encima de public_html - que tenía comandos relacionados con PHP 7.1 que estaban afectando las opciones de CPanel. Tengo la sospecha de que ha estado así desde que comencé con HostGator y ellos hicieron una instalación para mí desde mi host anterior.

Ken Y-N Ken Y-N
18 jul 2020 19:22:43
Todas las respuestas a la pregunta 5
1

Asegúrate de que WP_CONTENT_DIR esté definido en tu archivo wp-config.php. Será la ruta a tu directorio wp-content.


define('WP_CONTENT_DIR', '/ruta/hacia/wordpress/wp-content');
23 jun 2020 18:35:43
Comentarios

Gracias. Esto resolvió el problema para mí. No completamente, pero eliminó este error.

Abhishek Balani Abhishek Balani
17 jul 2020 16:51:15
0

Esto es lo que funcionó para mí: Mi sitio WordPress en Hostgator mostraba el mismo error hasta que comenté el archivo .htaccess de nivel superior. Así:

Comenté la configuración predeterminada de PHP

Mi sitio web es un subdominio, por lo que tenía su propio .htaccess, y ahí es donde se especificaba la versión de PHP (cPanel lo hizo automáticamente). No tuve que editar wp-config.php ni ningún otro archivo.

Fue en los comentarios de esta publicación donde encontré la solución:

https://wordpress.org/support/topic/php-7-3-errors/#post-12720824

27 ago 2020 02:47:16
0

Normalmente, la entrada WP_CONTENT_DIR está definida en el archivo https://developer.wordpress.org/reference/files/wp-includes/default-constants.php/ (que se carga después de wp-settings.php):

     if ( ! defined( 'WP_CONTENT_DIR' ) ) {
            define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); 
            // Sin barra diagonal al final, solo rutas completas - WP_CONTENT_URL se define más adelante.
        }

Esto establecerá WP_CONTENT_DIR por defecto en la carpeta 'wp-content' de tu sitio, a menos que tú (o alguien/algo) lo haya definido previamente en el wp-config.php con un comando como este:

define('WP_CONTENT_DIR', '/ruta/hacia/wordpress/wp-content');

En una instalación 'limpia'/por defecto, no debería existir ese DEFINE en el archivo wp-settings. Tal vez tengas un plugin o función que haya movido la carpeta de contenido a una nueva ubicación como método de 'seguridad' (aunque es debatible si esto es útil -'seguridad por oscuridad' no funciona tan bien) y haya modificado el valor de la variable WP_CONTENT_DIR.

Así que revisa tu archivo wp-settings.php en busca de esa declaración DEFINE. Elimínala (a menos que realmente quieras tus archivos wp-content en otro lugar), o busca algún plugin en tu sitio que esté haciendo eso.

23 jun 2020 20:52:27
0

En mi caso, había dos archivos .htaccess ejecutándose simultáneamente (uno en "public_html" y otro por encima del directorio raíz), lo cual estaba causando el conflicto. Eliminé el archivo y funcionó. Así pude solucionar mi problema con la actualización de WordPress.

Aquí está la publicación original de esta solución: https://iiiji.com/fix-php-upgrade-error-whm-cpanel/

9 sept 2020 22:03:49
1

Acabo de actualizar la versión de PHP de 7.0 a 7.4 desde Multi Php Editor para mi sitio web y encontré el error "Use of undefined constant WP_CONTENT_DIR – assumed 'WP_CONTENT_DIR'"

Después de eso, volví a degradar a la versión 7.0 y obtuve este error:

Parece que tu instalación de PHP no tiene la extensión MySQL que WordPress requiere.

Nuevamente actualicé a PHP 7.4

¿Cómo solucioné el error? Simplemente eliminé el archivo .htaccess y actualicé la página. Todo funcionó correctamente después.

Gracias

17 dic 2020 04:16:22
Comentarios

Eso me suena extraño. ¿Qué había en el archivo .htaccess que rompió PHP? No creo que puedas deshabilitar la extensión MySQL de PHP desde un .htaccess, ¿o sí?

Rup Rup
17 dic 2020 10:25:39