WordPress发布管理员在一台服务器

时间:2017-02-01 20:49:42

标签: javascript php wordpress concatenation bundling-and-minification

我的WordPress项目有3个开发环境:

  • 本地环境
  • 登台服务器
  • 生产服务器

我只是在生产服务器上收到错误,不幸的是,这是它工作的最重要的地方。

enter image description here enter image description here

可能导致此错误的原因是什么?它由/wp-admin/load-scripts.php中的脚本加载器生成,它只在WP管理员中使用发布编辑器页面时抛出错误。

问题只发生在三台服务器之一上,导致这些页面上的许多JS相关功能失败,例如修改帖子的发布日期或添加标签。

非常感谢任何帮助或见解。

修改

Hrmm ..在做了一些挖掘后,我想知道它是否可能与一些PHP ini设置有关,这些设置用于连接和缩小JS文件。禁用我的插件什么也没做。

我正在看WP核心脚本加载器的这一部分(/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;
    }
}

1 个答案:

答案 0 :(得分:0)

我非常确信错误来自javascript严格模式,该模式可能在您的生产环境中启用。如果在您的第​​二个屏幕截图中“g”是一个对象,那么您应该知道您无法使用delete g。在严格模式下,您只能删除可编辑的对象属性。

供参考,请参阅此页面(页面上的搜索删除)https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode