缺少可视化编辑器,服务器端出现问题,您将如何调试它?

时间:2013-12-11 作者:mashup

我已经尝试了您可以在网上找到的所有解决方案,例如将此添加到wp-config.php:

1 define(\'CONCATENATE\\u SCRIPTS\',false);

2我还停用了所有插件并更改了主题,仍然没有骰子

3验证权限是否正确,是否启用了可视化编辑器

4尝试用TinyMCE以外的其他编辑器替换,没有骰子

我认为这是服务器问题,因为服务器上的另一个站点也有同样的问题。

对如何调试它有什么建议吗?“添加媒体”工作正常,因此它不是JS问题或权限问题。

我相信这可能与mod_sec, 但我禁用了它,仍然没有骰子。不确定从何处开始调试过程。有什么建议吗?

<小时>Edit: 我已经找到了问题,但还没有解决办法。

以下两行代码在我坏掉的服务器上的源代码中缺失——在工作的服务器上,它们没有缺失:

<div id="wp-content-editor-tools" class="wp-editor-tools hide-if-no-js">
    <a id="content-html" class="wp-switch-editor switch-html" onclick="switchEditors.switchto(this);">Text</a>
    <a id="content-tmce" class="wp-switch-editor switch-tmce" onclick="switchEditors.switchto(this);">Visual</a>
Update: 显然有些人很幸运禁用了杀毒软件,请看这里http://wordpress.org/support/topic/htmlvisual-missing-on-341-and-342

4 个回复
SO网友:jrsconfitto

我有一个相关的问题,使用上述答案无法解决。我无法访问经典编辑器中的可视化编辑器,并且被困在HTML中。使用Gutenberg时,我无法访问可视化编辑器,无法添加块,也无法从可视化选项卡切换到代码选项卡。

该问题是由AWS CloudFront删除UserAgent标头引起的,WP使用该标头来确定是否可以进行可视化编辑。

如果有人来这里,但上述答案没有帮助,请查看您的托管解决方案,看看您是否有与我类似的场景。

修复程序正在调整主机/AWS处理标头的方式,like this post specifies, 或者,您可以使用以下代码重新启用WP由于缺少UserAgent标头而删除的标志:

function richedit_wp_cloudfront () {
   add_filter(\'user_can_richedit\',\'__return_true\');
}

add_action( \'init\', \'richedit_wp_cloudfront\', 9 );
在以下几个地方详细介绍了问题和解决方案:

SO网友:Justin Levene

如果您使用的是AWS和CloudFront,则需要传递以下标头:

Host
Options
Referer
Origin
User-Agent
您可以执行另一种行为,并且只有在“wp admin”时才能执行此操作,以利用所有页面的Cloudfront缓存(管理页面除外)。

此外,如果您正在使用CloudFront for HTTPS,并且您的源代码是HTTP,请在wp配置的开头添加以下行。php文件(源文件头应该解决这个问题,但如果没有解决):

$_SERVER[\'HTTPS\'] = \'on\';
由于服务器是http(端口80),并且您使用的是AWS公共证书,您需要愚弄wordpress,使其认为站点是HTTPS,否则脚本和css链接将不会加载,因为链接将是http而不是HTTPS。Wordpress在使用该函数时无法确定Cloudfront重定向是否为httpsis_ssl(), 所以这个黑客愚弄了它。

这个链接也有一些解释:

https://jeffreyeverhart.com/2018/12/07/setup-aws-cloudfront-for-wordpress-scaling-this-blog/

SO网友:mashup

我忘了添加解决方案。结果由于某种原因php.ini 删除了apc分段,因此我的整个服务器变得支离破碎,这会破坏JavaScript。

SO网友:Josh

以下是解决方案)

您可能已经知道这一点,但如果您转到WordPress配置文件,则会有一个复选框“在编写时禁用可视化编辑器”,请确保未选中该复选框。

祝你好运

结束

相关推荐