PHP Downgrade: 5.3 auf 5.2 zurücksetzen
Gestern ist mir ein dummer Fehler passiert: auf einem CentOS-Server mit Plesk 9.2 und PHP 5.2.10 vom Remi-Repository habe ich, auch über das Remi-Repository, versehentlich ein PHP-Upgrade gemacht. Die dann vorhandene Version 5.3 ist aber leider total unkompatibel mit Plesk und so einigen Anwendungen. Sporadisch kam einfach mal bei jeden PHP-Skripts nur eine weiße Seite zurück, mit der Fehlermeldung von Apache:
PHP Warning: Unknown: open_basedir restriction in effect. File(/var/www/[...]/index.php) is not within the allowed path(s): (h\xc3\x15\x90+\xe4rr\n) in Unknown on line 0
PHP Fatal error: Unknown: Failed opening required '/var/www/[...]/index.php' (include_path='.:') in Unknown on line 0, referer: http://[...]
Damit konnte man erst mal nicht so viel anfangen, vor allem weil der Fehler nicht immer auftrat.
Die Lösung war einfach: PHP wieder auf PHP5.2.10 Downgraden. Aber ein Downgrade mit yum ist zunächst nicht vorgesehen. Auch das yum-Modul AllowDowngrade war dafür nicht geeignet. So weit auch noch kein Problem: PHP löschen, PHP installieren und 5.3 verbieten, zum Glück ist die 5.2 ja noch im Repository. Ging aber auch nicht: hätte ich PHP gelöscht, wären viele andere Pakete auch gelöscht worden und das alles korrekt und funktionierend wieder herzustellen wäre zu viel Arbeit + zu viel Ausfallzeit.
Also zur gefährlicheren Variante gegriffen: rpm –nodeps. Nicht wirklich zu empfehlen, aber hier ging es leider nicht anders.
Lösung:
-> Gegebenenfalls nachsehen, was von PHP alles in Version 5.3 installiert ist, z.B. mit
yum list installed php* | grep 5.3
PHP-Pakete mit RPM löschen:
rpm -e php-mbstring php-pdo php-cli php-common php-imap php-xml php-mysql php-gd --nodeps
und dann schnell hinterher mit yum nachinstallieren:
yum --enablerepo=remi --exclude=php*5.3* install php php-mbstring php-pdo php-cli php-common php-imap php-xml php-mysql php-gd
service httpd restart
Damit sollten wieder die 5.2er Versionen installiert sein (keine Garantie!!! Kann natürlich auch mächtig schiefgehen!)
Wer ebenfalls das Remi-Repo hat, und auch keine Lust hat auf PHP5.3, kann es in der /etc/yum.conf verbieten:
[main]
cachedir=/var/cache/yum
keepcache=0
[...]
exclude=php*5.3*
# Note: yum-RHN-plugin doesn't honor this.
metadata_expire=1h
[...]
Viel Erfolg







damn plesk. that was it, thanks!
Danke für diese Anleitung! Hatte genau das gleiche Problem!