Wer Wordpress nutzt, der nutzt zu 99% auch den TinyMCE, einen WYSIWYG-Texteditor. Dieser bietet als Plugin auch eine Rechtschreibkorrektur an (bei WP standardmäßig aktiviert).
Wenn auf dem Server das cURL-Modul nicht installiert ist, kommt es beim Ausführen der Rechtschreibkorrektur sehr wahrscheinlich zu folgendem Fehler:
Error response: <br />
<b>Warning</b>:
fgets() [<a href='function.fgets'>function.fgets</a>]: SSL: fatal protocol error in <b>/wordpress/wp-includes/js/tinymce/plugins/spellchecker/classes/GoogleSpell.php</b> on line <b>94</b><br /> {"id":null,"result":["Tesat"],"error":null}
Nach langer Recherche bin ich darauf gestoßen, dass es sich hierbei um einen php-Bug handelt, der irgendwie in Zusammenhang mit MySQL auftritt.
So schwer es war das Problem zu identifizieren, so leicht ist die Lösung: ein @
vor fgets()
in Zeile 92 der /wordpress/wp-includes/js/tinymce/plugins/spellchecker/classes/GoogleSpell.php
$xml .= @fgets($fp, 128);
Wenn wir einmal dabei sind, können wir auch noch ein zweites Problem lösen (was aber nur auftritt, sofern das Blog utf-8-kodiert ist, was auch in den meisten Fällen der Fall sein sollte), die falsch codierten Umlaute etc. Im WP-Deutschland-Blog gibts die Lösung, in Zeile 41 wird überflüssigerweise die Funktion utf8_decode()
aufgerufen, was zu dieser Verunstaltung der Sonderzeichen führt. Ändert man diese Zeile in
$sug = explode("\t", $this->_unhtmlentities($matches[0][4]));
so läuft wieder alles wie es soll