2012-06-16 11 views
6

L'editor TinyMCE nella mia pagina "Modifica post" di WordPress sembra essere rotto. console Chrome mostra:WordPress tinymce.js viene analizzato come PHP?

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 

Se esamino tinymce.js nelle Chrome Developer Tools, vedo queste intestazioni di risposta:

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 

e questa risposta:

<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 /> 

diverse andere. i file js vengono correttamente recuperati ed eseguiti. Disattivare il W3TC non fa differenza. Il problema esiste anche in Firefox. Il problema sembra essere spuntato all'improvviso; Non sono a conoscenza di nulla di ciò che ho modificato, nemmeno dell'aggiornamento o dell'installazione/della disinstallazione dei plugin.

Grazie in anticipo.

+0

Sei sicuro di non utilizzare php per includere il file js da qualche parte? 'grep -r -n -I --color/home/mysite/public_html/tiny_mce.js', o l'intera directory? controlla anche http conf e qualsiasi .htaccess in quella cartella o qualcuno dei suoi genitori non sta facendo quel file/cartella trattato come php – gingerCodeNinja

risposta

4

Questo non accadrebbe a meno che PHP non stia gestendo la richiesta del file .js.

Controlla il tuo file conf Apache2 e controlla anche tutti i file conf.d nella cartella conf.d. Controlla anche il tuo file .htaccess. In quei file cercare qualcosa di simile:

AddHandler application/x-httpd-php .js 

potrebbe accadere in un blocco come questo:

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

Alcuni tutorial .htaccess Apache e della configurazione suggerire utilizzando PHP per gestire i file a causa di qualche js trucchi ti lascerà fare. Il motivo più comune è per chiamare un file GZIP PHP in ZIP Comprimere i file JS. Sfortunatamente, usare php per gestire tiny_mce.js sembra rompere Wordpress. PHP sta inciampando in qualcosa nel file tiny_mce.js - forse perché è stato minimizzato?

Mi sono imbattuto in questo esatto problema e ho dovuto rimuovere il gestore php per i file .js dalla mia configurazione. In realtà non ce n'era bisogno, perché il mio Apache è configurato per fare zipping da solo. Non sto chiamando un file PHP per fare il gzip. Affidarsi a uno script PHP per la compressione zip non è il modo migliore di fare le cose (ovviamente perché crea problemi come questo!).

Spero che questo aiuti qualcuno.

I lettori potrebbero anche trovare utile questo post: Caching problem using "AddHandler application/x-httpd-php"

Vorrei anche aggiungere che arbitrariamente utilizzando PHP per gestire i file statici come JS e CSS non è una buona idea per motivi di prestazioni. Non dovresti mai chiamare un gestore PHP a meno che i file non siano veramente dinamici. Altrimenti si aggiungono requisiti di risorse non necessari al server.

+0

grazie amico! Stavo cercando una soluzione a questo problema da molto tempo. –

Problemi correlati