Ubuntu 12.04 LTS - PHP Version auf 5.3.27 updaten
Aus znilwiki
Bei Ubuntu 12.04 LTS ist die PHP Version 5.3.10 dabei (5.3.10-1ubuntu3.8).
Nun brauche ich aber für die neue MediaWiki Version mindestens Version 5.3.2, aktuell wäre die Version 5.3.27.
Nach langen probieren hier nun die "einfache" Variante":
Update / Installationsquellen ergänzen:
nano /etc/apt/sources.list
und am Ende die beiden Zeilen
deb http://packages.dotdeb.org squeeze all deb-src http://packages.dotdeb.org squeeze all
hinzufügen.
Wenn man nun
apt-get update
eingibt wirft er am Ende folgenden Fehler aus:
W: GPG-Fehler: http://packages.dotdeb.org wheezy Release: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY E9C74FEEA2098A6E
Vom Key brauchen wir die letzten 8 Stellen, hier also
A2098A6E
Damit machen wir folgendes:
gpg --keyserver subkeys.pgp.net --recv-keys A2098A6E gpg --armor --export A2098A6E | apt-key add -
dann noch mal
apt-get update
was nun fehlerfrei durchläuft.
Alternative zum vorherigen Key einspielen:
wget http://www.dotdeb.org/dotdeb.gpg apt-key add dotdeb.gpg
geht auch.
Wenn wir jedoch
apt-get upgrade
eingeben sagt er
root@vag-wiki:~# apt-get upgrade Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Statusinformationen werden eingelesen... Fertig Die folgenden Pakete sind zurückgehalten worden: libapache2-mod-php5 linux-headers-generic-lts-raring linux-image-generic-lts-raring php5-cli php5-common php5-mysql 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 6 nicht aktualisiert.
Er hat zwar was neueres, nimmt es aber nicht.
Am einfachsten zwingen wir ihn dazu - wir kopieren die Liste oben einfach hinter ein
apt-get install libapache2-mod-php5 linux-headers-generic-lts-raring linux-image-generic-lts-raring php5-cli php5-common
und bestätigen mit J (groß Schreiben!)
nun noch ein
php --version
und wir bekommen:
root@vag-wiki:~# php --version PHP 5.3.27-1~dotdeb.0 with Suhosin-Patch (cli) (built: Jul 25 2013 19:30:39) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies root@vag-wiki:~#
nach dem Update bekam ich vom MediaWiki - update.php
Skript eine Warnung:
root@h1234567:/var/www/vhosts/h1234567.stratoserver.net/znilwiki/maintenance# php update.php PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/intl.so' - /usr/lib/php5/20090626+lfs/intl.so: cannot open shared objeile: No such file or directory in Unknown on line 0 MediaWiki 1.20.6 Updater Going to run database updates for znilwiki Depending on the size of your database this may take a while! Abort with control-c in the next five seconds (skip this countdown with --quick) ... 5
Es geht um die "intl.so" Warnung ... was tun?
Der Fehler tritt auf wenn die php5-intl Erweiterung fehlt - doch wenn wir diese Nachinstallieren wollen:
root@h2108591:/# apt-get install php5-intl Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Statusinformationen werden eingelesen... Fertig Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass Sie eine unmögliche Situation angefordert haben oder, wenn Sie die Unstable-Distribution verwenden, dass einige erforderliche Pakete noch nicht erstellt wurden oder Incoming noch nicht verlassen haben. Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen: Die folgenden Pakete haben unerfüllte Abhängigkeiten: php5-intl : Hängt ab von: libicu44 (>= 4.4.1-1) ist aber nicht installierbar E: Probleme können nicht korrigiert werden, Sie haben zurückgehaltene defekte Pakete.
Fehlergrund:
- Die libicu44 ist und kann nicht installiert werden weil schon die libicu48 oder höher installiert ist.
- Eure Quellen haben gerade die Standard-Quellen und die DebDot-Quellen drin - und da ist kein passendes php5-intl' Paket drin.
Scheisse, und nun?
Der entscheidene Tipp fand sich hier: http://ibeblog.com/2013/01/21/installing-pecl-intl-ubuntu-12-04/
Die Lösung holt sich einfach den die Quellen für dir Installation (also den Source-Code) und übersetzt sich das Ganze dann selbst.
Hier hat Ihr die Befehle wie ich diese für meinen Server anpassen musste (so ganz konnte ich es nicht übernehmen):
apt-get install gcc libicu-dev php5 php5-dev php-pear build-essential --no-install-recommends pecl install intl service apache2 restart
--Bernhard Linz 17:24, 6. Okt. 2013 (CEST)