Actualizarea versiunii PHP rezultă în avertismentul "Use of undefined constant WP_CONTENT_DIR"?
Pe hosting-ul meu partajat HostGator cu opțiunea CPanel de setare PHP per domeniu, dacă activez PHP 7.3 (sau alte versiuni 7.x) pentru blogul meu existent, primesc o pagină de eroare:
Warning: Use of undefined constant WP_CONTENT_DIR – assumed 'WP_CONTENT_DIR' (acest lucru va genera o Eroare într-o versiune viitoare de PHP) în /my_site/public_html/wp-includes/load.php la linia 141 Instalarea PHP pare să nu aibă extensia MySQL care este necesară pentru WordPress
Dacă caut pe Google despre asta, toate sfaturile sunt despre cum să instalez mysqld
, dar cu siguranță este deja instalat deoarece o instalare nouă de WordPress pe un sub-domeniu separat funcționează perfect cu PHP 7.3, așa că probabil îmi lipsește ceva în fișierul wp-config.php
al site-ului meu mai vechi. Totuși, comparând versiunile care funcționează cu cele care eșuează, nu pot vedea o diferență evidentă.
Iată ce a funcționat pentru mine: Site-ul meu WordPress de la Hostgator afișa aceeași eroare până când am comentat fișierul .htaccess
de nivel superior. Astfel:
Site-ul meu este un subdomeniu, așa că avea propriul fișier .htaccess
, deci acolo era specificată versiunea PHP (cpanel a făcut acest lucru automat). Nu a fost nevoie să editez wp-config.php
sau altceva.
În comentariile acestui post am găsit această soluție:
https://wordpress.org/support/topic/php-7-3-errors/#post-12720824

În mod normal, intrarea WP_CONTENT_DIR este definită în fișierul https://developer.wordpress.org/reference/files/wp-includes/default-constants.php/ (care este încărcat după wp-settings.php):
if ( ! defined( 'WP_CONTENT_DIR' ) ) {
define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
// Fără slash la final, doar căi complete - WP_CONTENT_URL este definit mai jos.
}
Aceasta va seta WP_CONTENT_DIR
la valoarea implicită a folderului 'wp-content' al site-ului tău, cu excepția cazului în care tu (sau cineva/ceva) a definit acest lucru anterior în wp-config.php
cu o comandă precum:
define('WP_CONTENT_DIR', '/calea/catre/wordpress/wp-content');
Într-o instalare 'proaspătă'/implicită, nu ar trebui să existe acea DEFINE în fișierul wp-settings
. Poate ai un plugin sau o funcție care a mutat folderul de conținut într-o locație nouă ca o metodă de 'securitate' (deși este discutabil dacă acest lucru este util - 'securitatea prin obscuritate' nu funcționează chiar atât de bine) și a modificat valoarea variabilei WP_CONTENT_DIR
.
Deci verifică fișierul tău wp-settings.php
pentru acea instrucțiune DEFINE. Elimină-o (dacă nu vrei cu adevărat fișierele tale wp-content
în altă parte), sau caută un plugin pe site-ul tău care face asta.

În cazul meu, au existat două fișiere .htaccess care rulează simultan (unul din directorul "public_html" și unul deasupra directorului rădăcină), iar acest lucru a provocat conflictul. Am eliminat fișierul și a funcționat. Am reușit să rezolv această problemă legată de actualizarea versiunii WordPress.
Iată postarea originală a acestei soluții: https://iiiji.com/fix-php-upgrade-error-whm-cpanel/

Tocmai am actualizat versiunea PHP de la 7.0 la 7.4 folosind Multi Php Editor pentru site-ul meu și am întâlnit eroarea "Utilizarea unei constante nedefinite WP_CONTENT_DIR – se presupune 'WP_CONTENT_DIR'".
După aceea, am revenit la versiunea 7.0 și am primit această eroare:
Instalarea ta de PHP pare să nu aibă extensia MySQL, care este necesară pentru WordPress.
Am actualizat din nou la 7.4.
Cum am rezolvat eroarea? Pur și simplu am șters fișierul .htaccess și am reîncărcat pagina. Totul a funcționat perfect pentru mine.
Mulțumesc
