Schlagwort-Archive: PHP

Eclipse Autocomplete funktioniert nicht mehr

Einer der Gründe, eine ausgewachsene IDE wie Eclipse zu verwenden, ist natürlich das Vorhandensein mächtiger Features wie Autocompletion. Ich nutze die Funktion gerne, und wenn sie nicht mehr funktioniert, fehlt einem etwas. Ich habe das Problem mit PHP gehabt, deswegen bezieht sich der folgende Text darauf.

Es kann einige Gründe haben, warum Autocomplete stumm bleibt. Natürlich sollte es vorher aktiviert worden sein, aber das versteht sich von selbst 😉 Nachschauen kann man das in den Einstellungen (Window > Preferences), dann weiter unter PHP > Editor > Content Assist.

Falls dort alles korrekt eingestellt ist, kann man den Index neu erstellen lassen und hoffen, dass sich das Problem damit erledigt hat. Dazu sucht man folgenden Ordner in seinem Workspace-Verzeichnis:

[workspace]\.metadata\.plugins\org.eclipse.dltk.core.index.sql.h2

Dieser muss einfach gelöscht werden. Nach einem Eclipse-Neustart sollte im Progress-Fenster die Meldung DLTK indexing in progress zu sehen sein. Das bedeutet, dass der Index neu erstellt wird. Das Autocompletion-Feature sollte danach wieder funktionieren.

Eine englische Anleitung mit Screenshots hat noch ein paar weitere Fehlermöglichkeiten aufgelistet. Die Anleitung zum Löschen des Index ist etwas versteckt als Link auf Seite 2 zu finden.

PHP als cronjob: Argumente übergeben

Heute habe ich einen cronjob eingerichtet, bei dem ein PHP-Skript ausgeführt werden sollte. Der Clou ist, dass ich Argumente an das Skript übergeben musste. Im Detail ging es um ein Update-Script für tt-rss. Doch egal, wie ich den Befehl versucht habe zu schreiben und zu verändern, der Updater lief nicht.

/usr/bin/php -f /var/www/html/tt-rss/update.php -- --feeds

Ein wenig debuggen im Updater-Skript hat dann weiter geholfen. Die Argumente kamen gar nicht an, das heißt, sie wurden nicht an das Skript übergeben. Dieses Verhalten kann nämlich in der php.ini über das Attribut register_argc_argv an- und ausgeschaltet werden.

Wenn man ein PHP-Skript per cronjob ausführt, kann man diese Einstellung ebenfalls als Argument übergeben. Die Lösung lautet somit

/usr/bin/php -d register_argc_argv=On -f /var/www/html/tt-rss/update.php -- --feeds

„Ungültiges Erweiterungsupdate“ bei Joomla Update

Heute war es mal wieder Zeit, einige Komponenten bei diversen Joomla-Installationen auf den neuesten Stand zu bringen. Leider funktionierte das neue Ein-Klick-Update-Verfahren, das mit Joomla 1.6.x eingeführt wurde, bei mir nie. Jedes mal erschien der Fehler „Ungültiges Erweiterungsupdate„. Bisher bin ich dem Fehler nie groß nachgegangen, sondern dachte, dass er mit einem der kommenden Joomla Updates behoben wird, da es wohl wirklich zwischenzeitlich fehlerhaft implementiert war. Da Joomla zwischenzeitlich auch schon wieder mal ein Update spendiert bekam, habe ich es auf einen neuen Versuch ankommen lassen. Hat natürlich nicht funktioniert. Fast. 😉 Bei einer brandneuen Joomla 1.7.x Installation funktionierte es! Ein guter Grund, der Sache mal mit Hilfe von Google genauer nachzugehen…

Auf deutsch habe ich nichts zielführendes gefunden, aber bei einer Suche nach der englischen Fehlermeldung „Invalid extension update“ kam ich der Sache dann auf die Spur. Der Fehler liegt wohl an einer fehlerhaften Migration von Joomla 1.5.x auf 1.7.x mittels jUpgrade. Deswegen trat der Fehler auch bei der frischen Joomla Installation nicht auf.

Der Fehler ist schnell erklärt. Eine Datei, die den Update-Prozess steuert, wurde bei der Migration nicht korrekt ersetzt. Sie stimmt mit der aktuellen Datei aus der Full-Version nicht überein. Die Lösung gestaltet sich entsprechend einfach. Die momentan eingesetzte oder aktuelle Full-Version von Joomla herunterladen, und die fehlerhafte Datei mit der korrekten aus dem zip-Archiv ersetzen.

Es handelt sich um die Datei update.php im Verzeichnis /administrator/components/com_installer/models/. Diese Datei muss durch die aktuelle ersetzt werden.

Mit der aktuellen Version der Datei hat das Update im Bereich „Aktualisieren“ auf einmal wunderbar geklappt. 🙂

 

Absturz mit Apache HTTPd 2.2.14 und PHP 5.3.1

Nachdem Windows 7 auf dem Rechner ist, musste nun endlich auch mal wieder der Apache HTTP Webserver und PHP installiert werden. Beides funktioniert mittlerweile ganz gut, wenn man jeweils die Installer verwendet. Dieses Mal hat es aber leider gehakt. Nachdem das PHP -Modul in die httpd.conf eingetragen war, ließ sich der Webserver nicht mehr starten, bzw. er stürzte sofort ab. Die Ereignisanzeige spuckte das Folgende aus:

Name der fehlerhaften Anwendung: httpd.exe, Version: 2.2.14.0, Zeitstempel: 0x4ac181d6
Name des fehlerhaften Moduls: php5ts.dll, Version: 5.3.1.0, Zeitstempel: 0x4b051b35
Ausnahmecode: 0xc0000005
Fehleroffset: 0x000e618c

Google lieferte auch nichts aussagekräftiges, dass hieß selbst testen. Nachdem ich in PHP alle Extensions deaktiviert hatte, ließ sich auch der Webserver wieder starten. Nachdem ich nach und nach alle wieder eingeschaltet habe, konnte ich den Übeltäter identifizieren.

[PHP_MSSQL]
extension=php_mssql.dll

Diese Extension scheint fehlerhaft zu sein. Aber da ich sie nicht benötige, habe ich sie einfach mit einem Semikolon am Anfang der Zeile auskommentiert.

UPDATE:

Bei Microsoft kann man sich eine aktualisierte Version der mssql.dll herunterladen, mit der dann auch dem Einsatz einer MSSQL-Datenbank nichts mehr im Wege steht. Weitere Informationen und den Link zum Download findet ihr unten in den Kommentaren.