Wie deaktiviere ich PHPs ini_set für bestimmte Konfigurationsoptionen?

Wie deaktiviere ich PHPs ini_set für bestimmte Konfigurationsoptionen?

Ich verwende ein Setup mit PHP 5.3.8 und verwende php-fpm mit seiner Chroot-Funktionalität, um mehrere Kunden zu trennen. So hat jeder Kunde seine eigene chrooted PHP-Umgebung, was völlig in Ordnung ist.

Ich möchte nun verhindern, dass ein Kunde die memory_limitseiner PHP-Instanz über ändern kann ini_set. Andererseits möchte ich dies auch nicht ini_setkomplett deaktivieren. Daher suche ich nach einer Möglichkeit, die Möglichkeit, bestimmte PHP-Konfigurationsoptionen (wie memory_limit) über zu deaktivieren ini_set.

Weiß jemand, wie das erreicht wird?

Antwort1

Ohne Patchen des PHP-Quellcodes ist dies nicht möglich.

Antwort2

Wie cyberx86 in seinem Kommentar anmerkte, ist es mit suhosin zumindest möglich, Änderungen memory_limitwährend der Laufzeit zu unterbinden. Die Konfigurationsoption dafür in suhoshin heißt suhosin.memory_limit.

Antwort3

Für Apache können Sie in httpd.conf etwa Folgendes festlegen:

php_admin_value memory_limit 2G

und das macht jede Zeile in einem Skript wie dieser sinnlos:

ini_set('memory_limit', '4096M');

Lesen Sie mehrHier.

HTH

verwandte Informationen