Avviso: Costante già definita in wp-config.php su riga (inesistente)?
Mi è stato assegnato il compito di spostare un sito web in un nuovo dominio e ho riscontrato questo strano problema.
Nella homepage, vedo sempre questi messaggi:
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
Cosa ho provato:
- Notice: Constant WP_POST_REVISIONS already defined suggerisce di commentare le costanti su
default-constants.php
, ma non funziona. - Impostare
display_errors
a0
,'0'
o'Off'
non ha alcun effetto. - Eseguire
error_reporting(0)
continua a mostrare gli errori. - Creare un
mu-plugin
(Come suggerito in Come posso impedire la visualizzazione degli avvisi PHP in WordPress?).
Non succede nulla e il plugin non viene nemmeno caricato.
Gli errori continuano ad apparire. - Ho provato a commentare le righe in
wp-config.php
, ma non ha funzionato. Gli avvisi sono ancora presenti. - Ho rimosso le righe completamente e le ho spostate all'interno di
wp-config.php
, ma gli avvisi insistono che sono sulla riga 99 e 100.
Causare un errore di sintassi dentrowp-config.php
porta a un errore registrato, il che significa che il file non è in cache. - Ho provato ad abilitare e disabilitare la modalità debug, impostare
display_errors
afalse
,0
,'0'
e'Off'
, ma non funziona. - Ho eseguito
grep -1R WP_POST_REVISIONS *
egrep -1R AUTOSAVE_INTERVAL *
con il seguente risultato: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
Non ho davvero altre idee da provare.
Sto usando WordPress 4.7.2, su PHP 5.4 con i seguenti moduli caricati:
Non c'è op-cache attivo nel server. Solo queste opzioni.
PHP è stato configurato con le seguenti opzioni:
'./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'
Come test, ho provato ad eseguirlo su PHP 5.6, con gli stessi risultati, con i seguenti moduli:
Se non hai alcun plugin che manipola queste definizioni, è molto probabile che il problema sia causato dall'avere le due costanti definite dopo la riga nel file config.php
che dice:
/* That's all, stop editing! Happy blogging. */ (Tutto qui, smetti di modificare! Buon blogging.)
I numeri di riga relativamente alti supportano questa ipotesi.

Non lo sono. Ho provato anche quello. Si trovano alle righe 90 e 91. Ma in qualche modo l'avviso è alle righe 99 e 100.

allora molto probabilmente non stai guardando il wp-config
corretto

... e il mio wp-config
quasi vanilla di 4.7 termina alla riga 89, quindi anche la 90 sembra sbagliata

Puoi vedere il mio file su http://pastebin.com/HZhENpMu (a mia difesa, non sapevo che fosse lungo 100 righe). Le righe 90 e 91 sono commentate, come puoi vedere.

sembra tutto a posto, il che riporta alle opzioni che questo non sia il file corretto da esaminare. Sei sicuro che non ci sia ad esempio un wp-config
nella directory superiore? Un modo semplice per verificare è aggiungere un die
o introdurre un errore di sintassi nel file che stai esaminando ora

L'ho già provato. È il sesto punto. Porta effettivamente a una pagina bianca quando si scrive roba casuale nel file.

tl;dr: Svuota la tua cache (di Comet)!
Risposta dettagliata:
Ho solo due parole: Comet Cache!
Comet Cache era attivato.
Controllando il codice sorgente ho trovato una nota come questa, dopo il tag di chiusura </html>
:
<!-- *´¨)
¸.•´¸.•*´¨) ¸.•*¨)
(¸.•´ (¸.•` ¤ Note di Comet Cache ¤ ´¨) -->
<!-- Versione Salt del File di Cache: n/a -->
<!-- URL del File di Cache: http://<my-domain> -->
<!-- Percorso del File di Cache: /cache/comet-cache/cache/http/<my-domain>/index.html -->
<!-- File di Cache Generato Tramite: Richiesta HTTP -->
<!-- File di Cache Generato Il: Feb 22nd, 2017 @ 5:37 pm UTC -->
<!-- File di Cache Generato In: 4.59149 secondi -->
<!-- File di Cache Scade Il: Mar 1st, 2017 @ 5:37 pm UTC -->
<!-- File di Cache Ricostruito Automaticamente Il: Mar 1st, 2017 @ 5:37 pm UTC -->
<!-- *´¨)
¸.•´¸.•*´¨) ¸.•*¨)
(¸.•´ (¸.•` ¤ Comet Cache è Completamente Funzionante ¤ ´¨) -->
<!-- Caricato dalla Cache Il: Feb 22nd, 2017 @ 5:37 pm UTC -->
<!-- Caricato dalla Cache In: 0.03472 secondi -->
Eliminando manualmente /cache/comet-cache/cache/http/<my-domain>/index.html
(percorso relativo alla tua directory /wp-content/
) il problema è stato risolto.
Mi sento così stupido per aver dato per scontato che non ci fosse alcuna cache attiva. Dai sempre la colpa alla cache!

Ah ah, sì, se succede qualcosa di così strano che non è spiegabile, 99 volte su 100 è una qualche forma di cache :)

@Fayaz Lezione imparata. Ho solo sprecato circa 9 ore con questo :/ Pensavo davvero che non ci fosse alcun tipo di caching, dato che a volte le cose cambiavano... Oh, beh, meglio la prossima volta.

@MarkKaplun Neanch'io. Voglio dire, ho guardato lato PHP, ma era lato WordPress dove c'era la cache :/

Spero tu abbia imparato la lezione: i plugin non dovrebbero gestire la cache, dovrebbero farlo i server ;) Meglio imparare a configurare un server per quel compito, piuttosto che aggiungere un'applicazione sopra. Bonus: ottieni più controllo e una potenza di caching molto maggiore, poiché le richieste disponibili in cache non raggiungono mai il tuo server applicativo PHP FPM o FCGI.

@kaiser Hai ragione. Dovrei controllare un esempio di .htaccess a riguardo. Ho letto un po' ma non sono completamente soddisfatto di implementarlo da solo, visto che so quasi nulla di WordPress.

La cache non ha nulla a che fare con WordPress (né con l'accesso degli utenti come fa .htaccess
per il server web Apache) o con il tuo server.
