拒绝执行脚本 - 严格Mime类型

时间:2016-03-07 22:40:35

标签: apache syntax-error mediawiki mime-types php-5.5

新手到mediawiki,如果这是一个简单的错误,请道歉。

我有一个本地工作正常,但在我的远程(插件域,安装在其根)我的mediawiki安装不断给我控制台错误:

Refused to execute script from 
'http://host.co.uk/load.php?debug=false&lang=en&modules=notify%2Cutil%7Cmediawiki.legacy.wikibits&skin=vector&version=5e0d755bcceb' 
because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

这是谷歌Chrome。但是在Firefox中我得到了:

SyntaxError: expected expression, got '<'

这个错误在第1行并指向<!DOCTYPE html>,我在想,因为它试图加载html而不是JS?

当我最初操作安装时,我没有得到任何CSS,我解决了这个问题,将session.save_path设置为可写目录。

转到网站根目录的网页网址与本地网站不同。这是因为我的远程使用CGI显然打破了短网址:请参阅mediaWiki:$wgUsePathInfo

local: /index.php/Main_Page

remote: /index.php?title=Main_Page

我已经考虑过LocalSettings.php的字节顺序问题,方法是在<?php之前保存vim并检查空格或点,但是没有解决方法。

我的错误在这里完全描述,但是在专用的VPS上并查看标记,我相信没有自动注入跟踪或广告的代码 - 是否还有其他原因? https://www.mediawiki.org/wiki/Manual:Errors_and_symptoms#Missing_edit_toolbar.2C_JavaScript_not_working

当我从使用suPHP作为我的处理程序切换时,错误确实会发生变化。更改为FCGI我可以在Google Chrome中获取firefox语法错误expected expression but got <,并在页面上显示一些错误:

Warning: Unknown: open(/tmp/sess_cf912e9c546f88005f99ad715791fe84, O_RDWR) failed: Permission denied (13) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

我很困惑,虽然最少的错误来自suPHP,查看php信息它说我的php api是CGI / FastCGI

我正在使用MediaWiki 1.26,php 5.5.3,Apache 2.2.31,CENTOS 6.7 x86_64 - 任何进一步的细节请问。

非常感谢您的帮助。如果我错过任何事情,请道歉。

更新

给出控制台错误的网址:

/load.php?debug=true&lang=en&modules=j…notify%2Cutil%7Cmediawiki.legacy.wikibit‌​s&skin=vector&version=10de47153c1c

返回此javascript对象:

mw.loader.state ({ "j…notify": "missing", "util": "missing", "mediawiki.legacy.wikibit‌​s": "missing" })

更新2

要显示我可能缺少的任何细节,我会在开发工具上显示一个屏幕。

Sources Tab Network Tab

但是,在再次访问相关网址时,它现在正在吐出更多信息。我相信信息已经改变,因为在绝望中我做了composer install并重新加载了/vendor目录:

mw.loader.implement( "mediawiki.legacy.wikibits", [ "/resources/src/mediawiki.legacy/wikibits.js" ] ); mw.loader.state( { "j…notify": "missing", "util": "missing" } );

更新3

text/html content type on network Tab - 2

更新4 根据@TGR的建议,我查看了网络选项卡中的url,给出了内容类型text / html。困惑我的部分是它与给出错误的url不匹配。但它确实返回302.在我的本地安装上查看相同的URL返回:

mw.loader.implement( "jquery.accessKeyLabel", [
        "/resources/src/jquery/jquery.accessKeyLabel.js"
    ], {}, {"brackets":"[$1]","word-separator":" "} 
);
mw.loader.implement(        
    "jquery.client", [
    "/resources/lib/jquery.client/jquery.client.js"
] );
mw.loader.implement( "mediawiki.RegExp", [
    "/resources/src/mediawiki/mediawiki.RegExp.js"
] );
mw.loader.implement( "mediawiki.notify", [
    "/resources/src/mediawiki/mediawiki.notify.js"
] );
mw.loader.implement( "mediawiki.util", [
    "/resources/src/mediawiki/mediawiki.util.js"
] );
mw.loader.implement( "mediawiki.legacy.wikibits", [
    "/resources/src/mediawiki.legacy/wikibits.js"
] );

我还可以确认上述代码块中的那些文件存在于有问题的维基上。

更新5

我刚刚在另一个子域中完成了新的媒体wiki安装。这次而不是FTP我已经通过SSH进入服务器了wget https://releases.wikimedia.org/mediawiki/1.26/mediawiki-1.26.2.tar.gz然后tar xvzf mediawiki-1.26.2.tar.gz。这给我留下了'mediawiki-1.26.2'文件夹。然后我cd mediawiki-1.26.2后跟mv * ../,以便wiki可以从根工作。在我可以运行安装之前要做的最后一件事是更正权限。 chown -R user:group *

然后我运行安装非常顺利。当我到达主页并检查开发人员控制台时,我得到了同样的错误。这是完全新鲜的,没有.htaccess或.conf

更新6
我觉得好像在探索安装目录时有一些长寿。所以在我自己的VPS上,我按照上面的安装,再次将文件移动到Root。我没有得到同样的错误,但我确实得到了 SyntaxError: expected expression, got '<'
然后我再次安装,但我将它留在根目录的子文件夹中。这没有给我任何错误。然后我在我遇到问题的实时遥控器上尝试了这个。即使安装在子文件夹中,这也给了我:
SyntaxError: expected expression, got '<'
如果我引入.htaccess文件来重写基本URL,例如RewriteRule ^/*$ %{DOCUMENT_ROOT}/mw/index.php [L],则返回MIME类型text / html的问题。然而,在我的其他安装上添加相同的规则是没有错误的。

0 个答案:

没有答案