Update: Mit den PHP-Versionen 5.4 und höher gibt es einen einfacheren und eleganteren Weg. Dieser lässt sich aber auch nicht immer einsetzen. Für Zend, ionCube oder OpCache ist z.B. eine php.ini notwendig
Die php.ini wirkt immer nur auf das Verzeichnis, in dem sie sich befindert (anders als die .htaccess).
Falls man Shell-Zugang (SSH) hat und sichergehen will, dass der Verweis in jedem Unterverzeichnis ist, kann man sich mit folgendem Befehl Symlinks erstellen lassen. Änderungen an der Datei werden dadurch auch in allen(!) Verzeichnissen aktiv, da der Symlink nur ein Verweis auf die Datei ist.
find -type d -exec ln -sv /homepages/24/d1234567/htdocs/php.ini {}/php.ini \;
Der Pfad („/homepages/24/d1234567/htdocs/„) muss natürlich angepasst werden.
Die Symlinks können mit folgendem Befehl entfernt werden:
find -name "php.ini" -links 1 -exec rm -i {} \;
Dieser fragt für jeden Eintrag nach, ob er entfernt werden soll. Will man das nicht, lässt man den -i Parameter weg.
Achtung! Der Befehl beschränkt sich nicht auf Symlinks sondern entfernt ggf. auch die originale php.ini also Vorsicht hier.
Die Erstellung des Symlinks funktioniert einwandfrei!
Die Entfernung allerdings nicht.
Muss bei dem Code „find -name “php.ini” -links 1 -exec rm -i {} \;“ noch etwas eingefügt werden?
Der Befehl funktioniert zumindest auf den 1&1 Servern problemlos.
Wenn man den Befehl allerdings aus dem WordPress Beitrag kopiert und in PuTTY einfügt macht der aus “php.ini” dann .php.ini. das geht dann schief.
Ich habe das mal in den Code-Tag gesetzt. Das Einfügen in PuTTY klappt nun.
Hy und Danke für diesen Hilfreichen Beitrag.
Der Befehl
find -name „php.ini“ -links 1 -exec rm -i {} \;
funktioniert soweit wunderbar allerdings wenn man das -i aus dem Befehl entfernt, sieht es nach Stillstand bei mir aus….gibt es evtl auch eine Möglichkeit zu sehen bei welchem symlink er sich grad befindet…ohne jeden einzelnen bestätigen zu müssen?