WordPress 2.6 und die Text/Diff Fehler im Editor
codestyling | 20. Juli 2008 | 22:06
In der aktuellen Version von WordPress ist ein Versionskontrollsystem integriert, dass unter anderem auch die Differenzen der einzelnen Versionen darstellen soll.
Allerdings hat der betreffende Programmierer versäumt, zu testen, was passiert, wenn man den PHP include Pfad nicht temporär ändern darf. Einige Provider verbieten nämlich das Ändern oder Neusetzen bestimmter oder aller PHP Einstellungen. Dies führt dann zu einem Ausfall des Editor, wenn man einen Beitrag geändert hat und eine neue Version entsteht.
Das Resultat sollte allen Betroffenen bekannt vorkommen und sieht in etwa so aus:
Warning: ini_set() has been disabled for security reasons in /srv/www/httpd/phost/l/de/pytalhost/laz/web/wordpress/wp-includes/pluggable.php on line 1517 Warning: require_once(Text/Diff/Renderer.php) [function.require-once]: failed to open stream: No such file or directory in /srv/www/httpd/phost/l/de/pytalhost/laz/web/wordpress/wp-includes/Text/Diff/Renderer/inline.php on line 17 Fatal error: require_once() [function.require]: Failed opening required 'Text/Diff/Renderer.php' (include_path='.:/srv/www/httpd/phost/l/de/pytalhost/laz/web') in /srv/www/httpd/phost/l/de/pytalhost/laz/web/wordpress/wp-includes/Text/Diff/Renderer/inline.php on line 17
Ich hab also meinem lokalen XAMPP System ein neues WordPress 2.6. als Testumgebung spendiert und ebenfalls das Setzen der php.ini in Bezug auf den include_path verboten. Sofort ist dieser Fehler auch bei mir aufgetreten. Also hab ich mich dran gesetzt, die betroffenen Dateien so zu ändern, dass man die temporäre Umschaltung des include_path nicht mehr braucht.
Herausgekommen ist ein Patch-Set, das 4 Dateien geringfügig ändert und wieder die gewünschte Funktionalität fehlerfrei bereitstellt. Ich habe das sorgfältig getestet und werde dieses, falls nicht schon gemeldet, an WP Trac weitergeben. Für diejenigen, die nicht bis zur Korrektur in der nächsten Version warten wollen, hab ich den Patch-Set als Download bereitgestellt. Bitte die enthaltenen Dateien in der Ordnerstruktur auf der Domain ersetzen und der Fehler ist beseitigt.
WP 2.6.0 Text/Diff: wp-includes-WP-2.6.0.zip
(ersetzt die betroffenen Dateien der Version WP 2.6.0)
Hier noch die Übersicht der geänderten Dateien:
wp-includes
| +- pluggable.php
| +- wp-diff.php
+- Text
+- Diff.php
+- Diff
+- Renderer
+- inline.php
Für Hinweise, Rückmeldungen und Frage bin ich immer empfänglich.






Daishi
27.07.2008 | 00:27Etwas ganz anderes möchte ich dich fragen :). Hast einmal erwähnt das an einem Übersetzungs-Plugin arbeitest … das noch aktuell?!
Welches kommt hier zum Einsatz?
Antworten »
codestyling
27.07.2008 | 00:39Momentan, solange ich meine Neuentwicklung noch nicht stabil habe und nun auch noch an WP 2.6 anpassen muss, läuft auf dieser Seite eine modifizierte Version von YammYamm, die sich beim ersten Betreten der Seite an der bevorzugten Sprache orientiert, die der Browser liefert. Außerdem ist die Theme/Plugin Kopplung (selber Autor) überarbeitet und erweitert, einige Bugs in Scripten und im Theme bereinigt.
Antworten »
Daishi
27.07.2008 | 00:49Oh, war ich drauf, aber nicht zum Plugin gefunden … :D. Nun denn, danke.
…
Nach gengo (wo nicht lief) und qTranslate (was nicht ganz befriedigt), nehme ich mir YY vor :). Ich finde eigentlich wäre mehrsprachigkeit sehr wichtig für ein (CMS)Blog-Software, vll. wird ja WP wirklich mal was liefern
Ja wenn ich bessere php Kenntnisse hätte, würde ich dir glatt helfen … das is aber leider nichts, hmm ^^
Wünsche dir gutes coden und bin Neugierig *g*.
Antworten »
alex
28.07.2008 | 19:30Herzlichen Dank für den Fix! Ich hatte das eben auch auf einmal mit den letzten zwei Posts, jetzt gehts wieder - Dank dir!
Echt super
Antworten »
Typ
28.07.2008 | 20:17Danke für das Patch, ich bekam schon die Krise.
Antworten »
Typ
28.07.2008 | 20:24Wobei die Fehlermeldung kommt
Fatal error: Call to undefined function is_ssl() in /var/www/web348/html/wp/wp-includes/pluggable.php on line 489
Antworten »
codestyling
28.07.2008 | 20:50Daran hab ich nix geändert. Es sind nur die include/require Aufrufe in den Dateien von relative auf absolut gemäß WordPress Hauptordner angepasst. Ich seh mir das aber mal an, was dich dort behindern kann.
Benutzt du WordPress per SSL vollkommen abgeschottet ?
Hier der Ausschnitt aus pluggable.php, Zeile 489 rot/fett markiert:
function wp_validate_auth_cookie($cookie = '', $scheme = 'auth') {
if ( empty($cookie) ) {
if ( is_ssl() ) {
$cookie_name = SECURE_AUTH_COOKIE;
$scheme = ’secure_auth’;
} else {
$cookie_name = AUTH_COOKIE;
$scheme = ‘auth’;
}
Wie schon gesagt, das hat nichts mit dem Fix zu tun. Die bei dir als fehlend gemeldete Funktion befindet sich in /wp-includes/functions.php in Zeile 2261. Ich würde mindestens diese Datei nochmal hochladen, ein Übertragungsfehler ist nicht auszuschliessen. (ggf. den ganzen wp-includes Ordner nochmal).
Antworten »
Tobi
31.07.2008 | 13:46Danke für das Patch, ich bekam schon die Krise mit den Errors. Aber jetzt läufts wieder einwandfrei. Danke!
Antworten »
Maggus
01.08.2008 | 23:27DANKE DANKE DANKE!!!! Sensationell, jetzt gehts wieder. *freudefreude*
PS: Allerdings sehr geiles Design. Kommt mir bekannt vor.
Antworten »
Ricarda
26.08.2008 | 06:59Groooßen Dank dafür. Hat mir sehr geholfen!
Antworten »
Kurt
04.11.2008 | 08:11Auch von mir vielen Dank - läuft wieder. War schon auf dem Weg nach Amok
Antworten »
Pete
19.02.2009 | 13:58Hi,
ist denn der Fehler in WP 2.7.x gefixt worden oder ist das Patchen nach wie vor nötig? Ich erhalte oft eine ‘unidentified error’-Meldung bei der Manipulation von Spezialfeldern von Pages im Adminbereich.
Grüße
Antworten »
codestyling
19.02.2009 | 14:13Wie man auf meiner Seite Fehlerbehebungen nachlesen kann, ist das seit 2.6.1 behoben. Die Spezialfelder haben mit diesem Bug erstmal nichts zu tun. Diese unterliegen nicht dem Revision Konzept sondern nur der Text des Editors. Wenn dein Theme oder ein Plugin Spezialfelder zur Verfügung stellen, die nicht mit dem herkömmlichen Interface gemacht sind, dann kann das Theme/Plugin der Urheber der Probleme sein.
Antworten »
Pete
19.02.2009 | 15:04Alles klar & vielen Dank für den Hinweis!
Denke ich werde mich noch ein Weilchen mit diesen Feldern beschäftigen müssen - ich will zwar nur die Spezialfelder vom Standard-Wordpress nutzen bzw. definieren, aber so wie mir scheint interagieren da doch diverse Plug-Ins und/oder Themes mit z.B. der Speicherfunktion für diese Felder und das macht es echt zu einem Troubleshooting-Marathon, wenn die in einem einmal gespeicherten Beitrag immer wieder verschwinden….
Grüße
Pete
Antworten »
Mäx
07.04.2009 | 13:19Vielen Dank, funktioniert super! Hast mir ein paar Stunden Arbeit erspart.
Antworten »