Notificare: Constanta deja definită în wp-config.php pe linia (inexistentă)?

22 feb. 2017, 14:29:58
Vizualizări: 29K
Voturi: 1

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 la 0, '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ă în wp-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 la false, 0, '0' și 'Off', dar nu funcționează.
  • Am rulat grep -1R WP_POST_REVISIONS * și grep -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:

module încărcate PHP

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:

module PHP 5.6

4
Comentarii

Poate eroarea a fost acolo tot timpul pe serverul/domeniul anterior -- dar nivelul de raportare a erorilor PHP este setat diferit acum pe noul server. Uneori trebuie să decizi dacă o să lupți cu ea sau o să o îngropi... măcar pentru a face site-ul să funcționeze ca să poți continua depanarea în altă parte.

C C C C
22 feb. 2017 15:04:05

@CC Sincer, vreau doar să o îngrop. Aș putea să sap prin cod, dar nu am idee unde să caut.

Ismael Miguel Ismael Miguel
22 feb. 2017 17:13:21

Fă un find in files în întregul director pentru AUTOSAVE_INTERVAL, evident că altceva îl definește. De asemenea, comentează o constantă esențială precum DB_NAME, vezi dacă site-ul încă funcționează. E posibil să modifici fișierul greșit wp-config.php.

Fayaz Fayaz
22 feb. 2017 18:52:18

@Fayaz Sunt mult înaintea ta. Căutarea în fișiere a fost deja făcută (ultimul punct din listă) și chiar am rulat find ./ | grep wp-config și sunt doar 2. Celălalt este exemplul. Am urmărit chiar și fișierele, de la index.php până la wp-config.php.

Ismael Miguel Ismael Miguel
22 feb. 2017 19:22:38
Toate răspunsurile la întrebare 2
7

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.

22 feb. 2017 15:46:12
Comentarii

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

Ismael Miguel Ismael Miguel
22 feb. 2017 16:32:34

atunci cel mai probabil nu te uiți la fișierul corect wp-config

Mark Kaplun Mark Kaplun
22 feb. 2017 17:02:02

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

Mark Kaplun Mark Kaplun
22 feb. 2017 17:04:15

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.

Ismael Miguel Ismael Miguel
22 feb. 2017 17:37:43

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

Mark Kaplun Mark Kaplun
22 feb. 2017 18:58:32

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

Ismael Miguel Ismael Miguel
22 feb. 2017 19:18:47

Doar pentru a-mi clarifica puțin confuzia, am editat a treia linie să fie define('WP_MEMORY_LIMIT', '512M');die(WP_MEMORY_LIMIT);, și a afișat 512M cum mă așteptam.

Ismael Miguel Ismael Miguel
22 feb. 2017 19:34:13
Arată celelalte 2 comentarii
8

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!

22 feb. 2017 19:45:24
Comentarii

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 Fayaz
22 feb. 2017 19:54:24

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

Ismael Miguel Ismael Miguel
22 feb. 2017 20:19:54

lol nici nu m-am gândit la cache

Mark Kaplun Mark Kaplun
22 feb. 2017 21:19:00

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

Ismael Miguel Ismael Miguel
22 feb. 2017 21:55:32

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 kaiser
6 mar. 2017 00:42:15

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

Ismael Miguel Ismael Miguel
6 mar. 2017 12:58:30

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.

kaiser kaiser
6 mar. 2017 15:41:37

Acum sunt super confuz...

Ismael Miguel Ismael Miguel
6 mar. 2017 16:06:59
Arată celelalte 3 comentarii