WordPress tinymce.js wird als PHP geparst?

Lesezeit: 3 Minuten

Der TinyMCE-Editor auf meiner WordPress-Seite “Beitrag bearbeiten” scheint kaputt zu sein. Chrome-Konsole zeigt:

Resource interpreted as Script but transferred with MIME type text/html: "http://mysite.com/wp-includes/js/tinymce/langs/wp-langs-en.js?ver=349-20805". post.php:62
Resource interpreted as Script but transferred with MIME type text/html: "http://mysite.com/wp-includes/js/tinymce/tiny_mce.js?ver=349-20805". post.php:62
Uncaught SyntaxError: Unexpected token <          tiny_mce.js:1
Uncaught ReferenceError: tinyMCE is not defined   wp-langs-en.js:1
Uncaught ReferenceError: tinymce is not defined   post.php:1180

Wenn ich tinymce.js in den Chrome Developer Tools untersuche, sehe ich diese Antwortheader:

Cache-Control:public, must-revalidate, proxy-revalidate
Connection:close
Content-Type:text/html
Date:Sat, 16 Jun 2012 01:40:42 GMT
Pragma:public
Server:Apache
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-Powered-By:PHP/5.2.17, W3 Total Cache/0.9.2.4

Und diese Antwort:

<br />
<b>Parse error</b>:  syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in <b>/home/mysite/public_html/wp-includes/js/tinymce/tiny_mce.js</b> on line <b>1</b><br />

Verschiedene andere .js-Dateien werden ordnungsgemäß abgerufen und ausgeführt. Das Ausschalten von W3TC macht keinen Unterschied. Das Problem besteht auch in Firefox. Das Problem scheint plötzlich aufgetaucht zu sein; Mir ist nichts bekannt, was ich geändert habe, nicht einmal das Aktualisieren oder Installieren/Deinstallieren von Plugins.

Danke im Voraus.

  • Sind Sie sicher, dass Sie nicht PHP verwenden, um diese js-Datei irgendwo einzufügen? grep -r -n -I --color /home/mysite/public_html/ tiny_mce.js, oder das ganze Verzeichnis? Überprüfen Sie auch http conf und alle .htaccess in diesem Ordner oder einer seiner Eltern machen diese Datei/Ordner nicht als php behandelt

    – IngwerCodeNinja

    12. November 2012 um 17:36 Uhr

Benutzer-Avatar
JamesHoux

Dies würde nicht passieren, es sei denn, PHP verarbeitet die .js-Dateianforderung.

Überprüfen Sie Ihre Apache2-conf-Datei und überprüfen Sie auch alle conf.d-Dateien im conf.d-Ordner. Überprüfen Sie auch Ihre .htaccess-Datei. Suchen Sie in diesen Dateien nach etwas in der Art:

AddHandler application/x-httpd-php .js

Es könnte in einem Block wie diesem auftreten:

<FilesMatch ".js$">
AddHandler application/x-httpd-php .js
php_value default_mimetype "text/javascript"
</FilesMatch>

Einige Tutorials zur .htaccess- und Apache-Konfiguration schlagen vor, PHP zur Handhabung von .js-Dateien zu verwenden, da es einige Tricks gibt, die Sie ausführen können. Der häufigste Grund ist das Aufrufen einer PHP-GZIP-Datei zum ZIP-Komprimieren der JS-Dateien. Leider scheint die Verwendung von PHP zur Handhabung von tiny_mce.js WordPress zu beschädigen. PHP stolpert über etwas in der Datei tiny_mce.js – vielleicht, weil sie minimiert ist?

Ich bin auf genau dieses Problem gestoßen und musste den PHP-Handler für .js-Dateien aus meiner Konfiguration entfernen. Das war eigentlich nicht nötig, da mein Apache so konfiguriert ist, dass er selbst zippen kann. Ich rufe keine PHP-Datei auf, um das gzip auszuführen. Sich für die Zip-Komprimierung auf ein PHP-Skript zu verlassen, ist wirklich nicht der beste Weg, Dinge zu tun (offensichtlich, weil es Probleme wie dieses verursacht!).

Hoffe, das hilft jemandem.

Leser könnten auch diesen Beitrag nützlich finden: Caching problem using “AddHandler application/x-httpd-php”

Ich werde auch hinzufügen, dass die willkürliche Verwendung von PHP zur Handhabung statischer Dateien wie JS und CSS aus Leistungsgründen keine gute Idee ist. Sie sollten niemals einen PHP-Handler aufrufen, es sei denn, die Dateien sind wirklich dynamisch. Andernfalls fügen Sie dem Server unnötige Ressourcenanforderungen hinzu.

  • Danke, Mann! Ich habe lange nach einer Lösung für dieses Problem gesucht.

    – Diego Marafetti

    2. Juli 2013 um 23:37 Uhr

1369940cookie-checkWordPress tinymce.js wird als PHP geparst?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy