Notificare: Constanta deja definită în wp-config.php pe linia (inexistentă)?
Mi s-a dat sarcina să mut un site web pe un domeniu nou și am întâlnit această problemă ciudată.
Pe pagina principală, văd mereu acestea:
Notice: Constant AUTOSAVE_INTERVAL already defined in /home/gturnat/public_html/wp-config.php on line 99
Notice: Constant WP_POST_REVISIONS already defined in /home/gturnat/public_html/wp-config.php on line 100
Ce am încercat:
- Notice: Constant WP_POST_REVISIONS already defined sugerează comentarea constantelor din
default-constants.php
, dar nu funcționează. - Setarea
display_errors
la0
,'0'
sau'Off'
nu face nimic. - Rularea
error_reporting(0)
va afișa în continuare erorile. - Crearea unui
mu-plugin
(Așa cum este sugerat în Cum pot opri afișarea notificărilor PHP în WordPress?).
Nu se întâmplă nimic și plugin-ul nici măcar nu este încărcat.
Erorile continuă să apară. - Am încercat să comentez liniile din
wp-config.php
, dar nu a funcționat. Notificările sunt încă prezente. - Am eliminat liniile complet și le-am mutat prin
wp-config.php
, dar avertismentele insistă că sunt pe liniile 99 și 100.
Cauzarea unei erori de sintaxă înwp-config.php
duce la înregistrarea unei erori, ceea ce înseamnă că fișierul nu este în cache. - Am încercat să activez și să dezactivez modul debug, să setez
display_errors
lafalse
,0
,'0'
și'Off'
, dar nu funcționează. - Am rulat
grep -1R WP_POST_REVISIONS *
șigrep -1R AUTOSAVE_INTERVAL *
cu următorul rezultat:root@webtest:# grep -lR WP_POST_REVISIONS *
wp-config.php
wp-includes/default-constants.php
wp-includes/revision.php
root@webtest:# grep -lR AUTOSAVE_INTERVAL *
wp-config.php
wp-includes/script-loader.php
wp-includes/default-constants.php
wp-includes/class-wp-customize-manager.php
Chiar nu mai am nicio altă idee de încercat.
Folosesc WordPress 4.7.2, rulând pe PHP 5.4 cu următoarele module încărcate:
Nu există op-cache funcțional pe server. Doar aceste opțiuni.
PHP a fost configurat cu următoarele opțiuni:
'./configure' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/opt/alt/php54' '--exec-prefix=/opt/alt/php54' '--bindir=/opt/alt/php54/usr/bin' '--sbindir=/opt/alt/php54/usr/sbin' '--sysconfdir=/opt/alt/php54/etc' '--datadir=/opt/alt/php54/usr/share' '--includedir=/opt/alt/php54/usr/include' '--libdir=/opt/alt/php54/usr/lib64' '--libexecdir=/opt/alt/php54/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/opt/alt/php54/usr/share/man' '--infodir=/opt/alt/php54/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/opt/alt/php54/etc' '--with-config-file-scan-dir=/opt/alt/php54/link/conf' '--with-exec-dir=/usr/bin' '--with-layout=GNU' '--disable-debug' '--disable-rpath' '--without-pear' '--without-gdbm' '--with-pic' '--with-zlib' '--with-bz2' '--with-gettext' '--with-gmp' '--with-iconv' '--with-openssl' '--with-kerberos' '--with-mhash' '--with-readline' '--with-pcre-regex=/opt/alt/pcre/usr' '--with-libxml-dir=/opt/alt/libxml2/usr' '--with-curl=/opt/alt/curlssl/usr' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-shmop' '--enable-calendar' '--enable-xml' '--enable-force-cgi-redirect' '--enable-fastcgi' '--enable-pcntl' '--enable-bcmath=shared' '--enable-dba=shared' '--with-db4=/usr' '--enable-dbx=shared,/usr' '--enable-dom=shared' '--enable-fileinfo=shared' '--enable-intl=shared' '--enable-json=shared' '--enable-mbstring=shared' '--enable-mbregex' '--enable-pdo=shared' '--enable-phar=shared' '--enable-posix=shared' '--enable-soap=shared' '--enable-sockets=shared' '--enable-sqlite3=shared,/opt/alt/sqlite/usr' '--enable-sysvsem=shared' '--enable-sysvshm=shared' '--enable-sysvmsg=shared' '--enable-wddx=shared' '--enable-xmlreader=shared' '--enable-xmlwriter=shared' '--enable-zip=shared' '--with-gd=shared' '--enable-gd-native-ttf' '--with-jpeg-dir=/usr' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-xpm-dir=/usr' '--with-t1lib=/opt/alt/t1lib/usr' '--with-imap=shared' '--with-imap-ssl' '--with-xmlrpc=shared' '--with-ldap=shared' '--with-ldap-sasl' '--with-pgsql=shared' '--with-snmp=shared,/usr' '--enable-ucd-snmp-hack' '--with-xsl=shared,/usr' '--with-pdo-odbc=shared,unixODBC,/usr' '--with-pdo-pgsql=shared,/usr' '--with-pdo-sqlite=shared,/opt/alt/sqlite/usr' '--with-mssql=shared,/opt/alt/freetds/usr' '--with-interbase=shared,/usr' '--with-pdo-firebird=shared,/usr' '--with-pdo-dblib=shared,/opt/alt/freetds/usr' '--with-mcrypt=shared,/usr' '--with-tidy=shared,/usr' '--with-recode=shared,/usr' '--with-enchant=shared,/usr' '--with-pspell=shared' '--with-unixODBC=shared,/usr' '--with-icu-dir=/opt/alt/libicu/usr' '--with-sybase-ct=shared,/opt/alt/freetds/usr'
Ca punct de testare, am încercat să îl rulez pe PHP 5.6, cu aceleași rezultate, cu următoarele module:
Dacă nu aveți niciun plugin care să manipuleze acele definiții, această problemă este cel mai probabil cauzată de faptul că cele două constante sunt definite sub linia din config.php
care spune:
/* Asta e tot, opriți editarea! Blogging fericit. */
Numerele relativ mari ale liniilor susțin această idee.

Nu sunt. Am încercat și eu asta. Sunt pe liniile 90 și 91. Dar cumva avertismentul apare pe liniile 99 și 100.

... iar fișierul meu wp-config
aproape standard pentru 4.7 se termină la linia 89, deci chiar și linia 90 sună greșit

Puteți vedea fișierul meu pe http://pastebin.com/HZhENpMu (în apărarea mea, nu știam că are 100 de linii.). Liniile 90 și 91 sunt comentate, după cum puteți vedea.

asta arată bine, ceea ce readuce opțiunea că acesta nu este fișierul corect de analizat. Ești sigur că nu există, de exemplu, un wp-config
în directorul de mai sus? O modalitate simplă de a verifica este să adaugi un die
sau să introduci o eroare de sintaxă în fișierul pe care îl analizezi acum

Am încercat deja asta. Acesta este al șaselea punct. Conduce la o pagină albă când scriu lucruri aleatorii în fișier.

tl;dr: Goliți cache-ul (Comet Cache)!
Răspuns lung:
Am doar 2 cuvinte: Comet Cache!
Comet Cache era activat.
Verificând codul sursă, am observat o notă de genul acesta, după eticheta de închidere </html>
:
<!-- *´¨)
¸.•´¸.•*´¨) ¸.•*¨)
(¸.•´ (¸.•` ¤ Note Comet Cache ¤ ´¨) -->
<!-- Versiune Salt Fișier Cache: n/a -->
<!-- URL Fișier Cache: http://<my-domain> -->
<!-- Cale Fișier Cache: /cache/comet-cache/cache/http/<my-domain>/index.html -->
<!-- Fișier Cache Generat Prin: Cerere HTTP -->
<!-- Fișier Cache Generat La: 22 Feb 2017 @ 17:37 UTC -->
<!-- Fișier Cache Generat În: 4.59149 secunde -->
<!-- Fișier Cache Expiră La: 1 Mar 2017 @ 17:37 UTC -->
<!-- Fișier Cache Reconstruit Automat La: 1 Mar 2017 @ 17:37 UTC -->
<!-- *´¨)
¸.•´¸.•*´¨) ¸.•*¨)
(¸.•´ (¸.•` ¤ Comet Cache Funcționează Perfect ¤ ´¨) -->
<!-- Încărcat din Cache La: 22 Feb 2017 @ 17:37 UTC -->
<!-- Încărcat din Cache În: 0.03472 secunde -->
Ștergerea manuală a fișierului /cache/comet-cache/cache/http/<my-domain>/index.html
(cale relativă la directorul /wp-content/
) a rezolvat problema.
Mă simt atât de prost pentru că am presupus că nu exista niciun cache activ. Întotdeauna da vina pe cache!

Ha ha, da, dacă se întâmplă ceva atât de ciudat încât nu poate fi explicat deloc, de 99 de ori din 100, e vorba de vreun fel de cache :)

@Fayaz Lecție învățată. Doar am pierdut vreo 9 ore cu asta :/ Chiar am presupus că nu există deloc caching, din moment ce uneori se schimbau lucrurile... Oh, bine, mai mult noroc data viitoare.

@MarkKaplun Nici eu. Adică, am căutat pe partea de PHP, dar caching-ul era pe partea de Wordpress :/

Sper că ai învățat lecția: Plugin-urile nu ar trebui să gestioneze caching-ul, serverele ar trebui să facă asta ;) Mai bine înveți să configurezi un server pentru această sarcină, decât să arunci o aplicație deasupra. Bonus: Ai mai mult control plus mult mai multă putere de caching, deoarece cererile care sunt disponibile în cache nu ajung niciodată la serverul tău de aplicații PHP FPM sau FCGI.

@kaiser Ai dreptate. Ar trebui să verific un exemplu de .htaccess despre asta. Am citit puțin, dar nu sunt complet mulțumit să o implementez singur, deoarece nu știu aproape nimic despre Wordpress.

Caching-ul nu are nicio legătură cu WordPress (și nici cu accesul utilizatorilor, așa cum face .htaccess
pentru serverul web Apache) sau cu serverul tău.
