L'aggiornamento della versione PHP genera l'avviso "Use of undefined constant WP_CONTENT_DIR"?

23 giu 2020, 18:02:14
Visualizzazioni: 20.2K
Voti: 5

Sul mio hosting condiviso HostGator con l'opzione CPanel per impostare PHP per dominio, se attivo PHP 7.3 (o altre versioni 7.x) per il mio blog esistente ottengo una pagina di errore:

Warning: Use of undefined constant WP_CONTENT_DIR – assumed 'WP_CONTENT_DIR' (questo genererà un Errore in una futura versione di PHP) in /my_site/public_html/wp-includes/load.php on line 141 La tua installazione PHP sembra non avere l'estensione MySQL che è richiesta da WordPress

Se cerco su Google, tutti i consigli riguardano come installare mysqld, ma è sicuramente già installato dato che una nuova installazione di WordPress su un sotto-dominio separato funziona perfettamente con PHP 7.3, quindi devo aver tralasciato qualcosa nel file wp-config.php del mio vecchio sito. Tuttavia, confrontando le versioni funzionanti e quelle che generano errori, non riesco a vedere una differenza evidente.

2
Commenti

Come hai risolto questo problema? Ho esattamente lo stesso problema.

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

@TheOddAbhi Dovrei aggiornare - si è scoperto che avevo un file .htaccess nella mia directory root - quella sopra public_html - che conteneva comandi relativi a PHP 7.1 che stavano creando problemi con le opzioni di CPanel. Ho il sospetto che la situazione sia stata così fin da quando ho iniziato con HostGator e loro hanno fatto un'installazione per me dal mio host precedente.

Ken Y-N Ken Y-N
18 lug 2020 19:22:43
Tutte le risposte alla domanda 5
1

Assicurati che WP_CONTENT_DIR sia definito nel tuo file wp-config.php. Sarà il percorso alla tua directory wp-content.


define('WP_CONTENT_DIR', '/percorso/verso/wordpress/wp-content');
23 giu 2020 18:35:43
Commenti

Grazie. Questo ha risolto il problema per me. Non completamente, ma ha eliminato questo errore.

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

Ecco cosa ha funzionato per me: il mio sito WordPress su Hostgator mostrava lo stesso errore finché non ho commentato il file .htaccess principale. In questo modo:

Ho commentato le impostazioni predefinite di PHP

Il mio sito è un sottodominio, quindi aveva il suo .htaccess personale, ed è lì che era specificata la versione PHP (cpanel lo ha fatto automaticamente). Non ho dovuto modificare wp-config.php o altri file.

Nei commenti di questo post ho trovato la soluzione:

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

27 ago 2020 02:47:16
0

Normalmente, la voce WP_CONTENT_DIR è definita nel file https://developer.wordpress.org/reference/files/wp-includes/default-constants.php/ (che viene caricato dopo wp-settings.php):

     if ( ! defined( 'WP_CONTENT_DIR' ) ) {
            define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); 
            // Nessuna barra finale, solo percorsi completi - WP_CONTENT_URL è definito più avanti.
        }

Questo imposterà WP_CONTENT_DIR sulla cartella predefinita 'wp-content' del tuo sito, a meno che tu (o qualcuno/qualcosa) non l'abbia definito precedentemente nel file wp-config.php con un comando come questo:

define('WP_CONTENT_DIR', '/percorso/verso/wordpress/wp-content');

In un'installazione 'pulita'/predefinita, non dovrebbe esserci quella DEFINE nel file wp-settings. Forse hai un plugin o una funzione che ha spostato la cartella dei contenuti in una nuova posizione come metodo di 'sicurezza' (sebbene sia discutibile se sia utile - la 'sicurezza per oscurità' non funziona poi così bene) e ha modificato il valore della variabile WP_CONTENT_DIR.

Quindi controlla il tuo file wp-settings.php per quella istruzione DEFINE. Rimuovila (a meno che tu non voglia davvero i tuoi file wp-content in un'altra posizione), o cerca un plugin nel tuo sito che sta facendo questo.

23 giu 2020 20:52:27
0

Nel mio caso, c'erano due file .htaccess in esecuzione simultaneamente (uno dalla cartella "public_html" e uno sopra la directory root), e questo causava il conflitto. Ho rimosso il file e ha funzionato. Sono riuscito a risolvere questo problema relativo all'aggiornamento della mia versione di Wordpress.

Ecco il post originale con questa soluzione: https://iiiji.com/fix-php-upgrade-error-whm-cpanel/

9 set 2020 22:03:49
1

Ho appena aggiornato la versione PHP da 7.0 a 7.4 utilizzando Multi Php Editor per il mio sito web e ho riscontrato l'errore "Use of undefined constant WP_CONTENT_DIR – assumed ‘WP_CONTENT_DIR’".

Dopo ciò, sono tornato alla versione 7.0 e ho ricevuto questo errore:

Sembra che la tua installazione PHP non abbia l'estensione MySQL che è richiesta da WordPress.

Quindi ho nuovamente aggiornato a PHP 7.4.

Come ho risolto l'errore? Semplicemente ho eliminato il file .htaccess e ho aggiornato la pagina. Tutto ha funzionato correttamente.

Grazie

17 dic 2020 04:16:22
Commenti

Mi sembra strano. Cosa c'era nel file .htaccess che ha interrotto PHP? Non credo che si possa disabilitare l'estensione MySQL di PHP da un file .htaccess, vero?

Rup Rup
17 dic 2020 10:25:39