0

Ich habe 3-Entwicklungsumgebungen für meine Wordpress-Projekt:Wordpress Entsendung Server-Betreiber wirft Strict-Modus-Fehler auf einem Server

  • Lokale Umgebung
  • Staging Server
  • Produktionsserver

ich nur bin den Fehler auf dem Produktionsserver zu bekommen, der leider der wichtigste Ort für das Funktionieren ist.

enter image description here enter image description here

Was diesen Fehler verursachen könnte? Es wird vom Skriptladeprogramm in /wp-admin/load-scripts.php generiert und wirft den Fehler nur bei Verwendung der Seiten des Buchungseditors im WP-Admin auf.

Das Problem tritt nur auf einem der drei Server auf und es verursacht viele JS-Funktionen auf diesen Seiten fehlschlagen, wie das Veröffentlichungsdatum des Posts ändern oder Tags hinzufügen.

Jede Hilfe oder Einsicht würde sehr geschätzt werden.


EDIT

Hrmm .. nach einige graben tun frage ich mich, wenn es mit einigen PHP-ini-Einstellungen können zu tun haben, die für die Verkettung und minification der JS-Dateien verwendet werden. Das Deaktivieren meiner Plugins hat nichts bewirkt.

ich in diesem Teil des WP Kern Skript loader Suche (/wp-includes/script-loader.php):

/** 
* Determine the concatenation and compression settings for scripts and styles. 
* 
* @since 2.8.0 
* 
* @global bool $concatenate_scripts 
* @global bool $compress_scripts 
* @global bool $compress_css 
*/ 
function script_concat_settings() { 
    global $concatenate_scripts, $compress_scripts, $compress_css; 

    $compressed_output = (ini_get('zlib.output_compression') || 'ob_gzhandler' == ini_get('output_handler')); 

    if (! isset($concatenate_scripts)) { 
     $concatenate_scripts = defined('CONCATENATE_SCRIPTS') ? CONCATENATE_SCRIPTS : true; 
     if ((! is_admin() && ! did_action('login_init')) || (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG)) 
      $concatenate_scripts = false; 
    } 

    if (! isset($compress_scripts)) { 
     $compress_scripts = defined('COMPRESS_SCRIPTS') ? COMPRESS_SCRIPTS : true; 
     if ($compress_scripts && (! get_site_option('can_compress_scripts') || $compressed_output)) 
      $compress_scripts = false; 
    } 

    if (! isset($compress_css)) { 
     $compress_css = defined('COMPRESS_CSS') ? COMPRESS_CSS : true; 
     if ($compress_css && (! get_site_option('can_compress_scripts') || $compressed_output)) 
      $compress_css = false; 
    } 
} 
+0

scheint Meine bearbeiten mich in die richtige Richtung geführt zu haben. Nach dem Deaktivieren der Verkettung kann ich den Post-Editor korrekt verwenden, bekomme aber jetzt einen anderen Fehler, "unerwartetes Ende der Ausgabe". Going muss in 'php.ini' für zlib Kompressionseinstellungen schauen – DrewT

Antwort

0

Ich bin ziemlich überzeugt, dass der Fehler aus dem Javascript Strict-Modus kommt welches wahrscheinlich in Ihrer Produktionsumgebung aktiviert ist. Wenn in Ihrem zweiten Screenshot "g" ein Objekt ist, dann sollten Sie wissen, dass Sie delete g nicht verwenden können. Im strikten Modus können Sie nur bearbeitbare Objekteigenschaften löschen.

als Referenz sehen Sie diese Seite (auf der Seite löschen Suche) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode

+0

Javascript strict-Modus ist auch in meiner lokalen und Staging-Umgebungen aktiviert – DrewT

+0

' 'use strict'' Anweisungen kommen aus den Dateien es lädt, so dass es keine Unterschiede gibt ; das heißt, es gibt zusätzliche Plugin-Konfigurationen auf dem Produktionsserver für Captchas und es kommt möglicherweise von dort. Zum Beispiel, wenn diese Dateien beim Staging nicht geladen werden. – DrewT

+0

Sie könnten versuchen zu überprüfen, ob diese zusätzlichen Plugins/Konfigurationen die Schuldigen sind. Sie sollten auch überprüfen, ob das Skript, das Sie für diese Funktion laden, auf dem neuesten Stand ist oder ob die Konfigurationen absichtlich "use strict" bei der Entwicklung auslassen. Das Entfernen von "Use Strict" kann möglicherweise Ihr Problem lösen, jedoch handelt es sich um eine Constraint-Ebene, die den Code schützen soll. –

Verwandte Themen