Actualizarea versiunii PHP rezultă în avertismentul "Use of undefined constant WP_CONTENT_DIR"?

23 iun. 2020, 18:02:14
Vizualizări: 20.2K
Voturi: 5

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ă.

2
Comentarii

Cum ai rezolvat asta? Am exact aceeași problemă.

Abhishek Balani Abhishek Balani
17 iul. 2020 16:42:13

@TheOddAbhi Ar trebui să actualizez - s-a dovedit că aveam un fișier .htaccess în directorul meu root - cel de deasupra public_html - care avea comenzi legate de PHP 7.1 care afectau opțiunile din CPanel. Bănuiesc că a fost așa încă de când am început cu HostGator și ei au făcut o instalare pentru mine de la fostul meu gazdă.

Ken Y-N Ken Y-N
18 iul. 2020 19:22:43
Toate răspunsurile la întrebare 5
1

Asigurați-vă că WP_CONTENT_DIR este definit în fișierul dvs. wp-config.php. Acesta va fi calea către directorul wp-content.

define('WP_CONTENT_DIR', '/calea/către/wordpress/wp-content');
23 iun. 2020 18:35:43
Comentarii

Mulțumesc. Aceasta a rezolvat problema pentru mine. Nu complet, dar a eliminat această eroare.

Abhishek Balani Abhishek Balani
17 iul. 2020 16:51:15
0

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:

Am comentat setările implicite PHP

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

27 aug. 2020 02:47:16
0

Î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.

23 iun. 2020 20:52:27
0

Î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/

9 sept. 2020 22:03:49
1

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

17 dec. 2020 04:16:22
Comentarii

Sună ciudat pentru mine. Ce era în fișierul .htaccess care a stricat PHP? Nu cred că poți dezactiva extensia MySQL pentru PHP dintr-un fișier .htaccess, sau poți?

Rup Rup
17 dec. 2020 10:25:39