YIGG WordPress Plugin für PHP 5

Heute morgen wollte ich (endlich) ein YIGG-Plugin für meine Webseite (WordPress 2.0.5) installieren. Da mein Server aber mit PHP5 läuft, funktionierte zunächst mal gar nichts. In einer ausgedehnten Debugging-Session mit risk sind wir dem Fehler dann auf die Schliche gekommen. Der Fehler lag u.a. an einer Neuerung bei PHP5, daß Objekte bei einer Neuzuweisung nicht geklont sondern nur referenziert werden.

_UPDATE 20071008_: Für die aktuelle WordPress-Version (2.3) ist dieses Plugin ungeeignet. Dafür bitte dieses hier nutzen: [Yigger Plugin](http://www.smarty-blog.de/2007/06/22/wordpress-plugin-yigger/)

Die Änderungen betreffen zwei Dateien: „/plugins/yigg/xmlrpc/xmlrpc_stub_parser.php“ und die Hauptdatei „/plugins/yigg/yigg.php“. In der ersten musste das Cloning explizit angegeben werden, in der Hauptdatei hat PHP5 wohl Probleme diese Zeile zu interpretieren,

array_shift ($arguments = func_get_args ());

so daß diese jetzt auf zwei Zeilen verteilt wurde. In dem Plugin stecken zwar noch einige Call-Time-Pass-By-References, aber dem kann man (vorerst) beikommen, indem man in der .htaccess diese PHP-Flag setzt:

php_flag allow_call_time_pass_reference On

Eine korrigierte Version der beiden Dateien gibt es hier zum herunterladen:

PHP5-Fix für WordPress YIGG Plugin

Dazu lädt man zunächst das originale YIGG Plugin in das Plugin-Verzeichnis von wordpress, und überschreibt dann die beiden Dateien auf dem Server mit denen aus meinem ZIP-Archiv. Danach klappt es auch mit PHP5. WordPress mit PHP4 und YIGG-Plugin funktioniert damit allerdings nicht mehr.

Die .htaccess Datei dann besser per Hand anpassen. Dazu einfach ganz unten o.g. Zeile mit der PHP-Flag einfügen.

Viel Spaß beim yiggen 😉

31 Kommentare

  1. Hallo super vielen Dank habe auch heute morgen versucht mit diesem WordPress Plugin zu arbeiten, jetzt weiss ich warun es nicht ging.

    Vielen Dank für diesen Post habe mir gleich das Plugin runtergeladen und werde es sofort installieren.

    Gute Arbeit!

  2. Danke, wollte mir heute Abend auf meinem neuen Blog das ganze schonmal zum installieren vormerken, nun weiss ich ja schonmal worauf ich achten muss, vll. verursacht das PHP 5 ja noch ein paar andere Fehler, werde mal mit PHP 4 schauen ob dann ein paar Mängel bei mir behoben sind. *gf

  3. hi

    ich habe eine frage zur .htaccess anpassung:
    bei mir enthält die .htaccess im public_html (also im www- verzeichnis wo die wordpress installation ist) verzeichnis nur folgenden eintrag:

    „AddHandler application/x-httpd-php5 .php“

    wenn ich nun das ersetze oder ergänze, dann erhalte ich einen internal server error…

    und wenn ich das plugin mit deinem fix „php_flag allow_call_time_pass_reference On“ einfach so installiere, erhalte ich:

    „Warning: Call-time pass-by-reference has been deprecated – argument passed by value; If you would like to pass it by reference, modify the declaration of runtime function name. If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/filmigc/public_html/wp-content/plugins/yigg/yigg.php on line 92″ usw.

    wie muss ich meine .htaccess datei anpassen, damit es funzt? ich nutze wp 2.0.7

    besten dank!

  4. Hallo Philipp,

    eventuell erlaubt dein Provider kein Überschreiben der Config-Flag für PHP. Die von dir genannte Fehlermeldung sollte nicht auftauchen wenn in der .htaccess die in der Beschreibung genannte PHP-Flag gesetzt wurde.
    Da bleibt leider nur a) Provider fragen ob er dir erlaubt die PHP-Flags zu überschreiben oder b) auf das Plugin verzichten 🙁

    Grüße,
    Ingo

  5. Hallo,

    ich hab mir heute das Plugin runtergeladen und installiert. mein WP 2.0.7 mit php 4.3 zeigte mir in der Pluginliste das yigg-plugin an, ich konnte es auch aktivieren – nur leider danach war es „verschwunden“. Keine Auflistung in der pluginliste und auch keine Einstellmoeglicheiten unter Plugins.
    Ein loeschen und erneutes reinkopieren brachte keine Aenderung.
    Was laeuft da schief? hat jemand eine Idee?

    gruss thomas

  6. Genau nach diesem Plugin (Update) habe ich gesucht. Nur zu dumm das es bei meinem Hoster nicht funktioniert, sobald ich nämlich die .htaccess anpasse lässt sich meine Webseite nicht mehr aufrufen. (Error 500)

  7. Hi ihr findigen Leute,

    gibt es schon eine Idee, warum es im WordPress 2.2 nicht läuft?
    Wäre cool, wenn jemand helfen könnte 🙂

    Schönen Sonntag,
    Stephan

  8. Habe auch Probleme bei der Installation unter WP 2.2

    Sieht stark danach aus, als würde beim Schreiben in die DB ein Fehler auftreten. Hier mal ein Ausszug au blog_option->active_plugins:

    i:7;O:19:“YiggWordPressPlugin“:0:{}

    Die Struktur ist bei anderen Plugins komplett unterschiedlich:
    Bsp.:
    i:1;s:27:“SK2/spam_karma_2_plugin.php“;

  9. Hallo,

    welches Plugin setzt du ein? Ich habe nur eins gefunden, bei dem Yigg nicht dabei war. Wäre nett, wenn du mir einen Tipp gibst. 🙂

    Danke
    Uwe

  10. Wie bekommt man den Fatal Error wieder weg?
    Catchable fatal error: Object of class __PHP_Incomplete_Class could not be converted to string in …/wp-settings.php on line 201

    Habe das Yigg Plugin wieder per FTP runtergeschmissen aber es geht immer noch nicht

  11. Ich hatte damals auch das gleiche Problem und habe es mit dem Löschen des Plugin`s aus der Datenbank wie inetstyle beschrieben hat gelöst.

  12. Super Tool, danke! Aber mit dem neuen Yigg habe ich so meine Probleme.. ich glaube auch ehrlich gesagt, dass das neue Yigg keine Zukunft hat. Von daher mein Aufruf an die Yigg-Macher: „Altes Yigg – oder wir sind weg““. Danke :)!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert