de.comp.lang.php.* FAQ

4.10. Meine Änderungen mit ini_set() haben keine Wirkung. Wie kann ich Konfigurationsvariablen zur Laufzeit ändern?

Antwort von Stephan Mann

Die einfachste Möglichkeit, Konfigurationsvariablen zu ändern, ist, diese in der php.ini einzutragen (siehe hierzu Wo finde ich die php.ini?). Dies ist aber nicht immer möglich bzw. gewünscht. Entweder weil man keinen Zugriff auf die php.ini hat oder weil man serverunabhängig programmieren möchte. Deshalb gibt es die Möglichkeit, Konfigurationsvariablen zur Scriptlaufzeit zu ändern. Eine volle Übersicht über die verfügbaren Variablen gibt es auf der Manual-Seite der Funktion ini_set() .Besondere Aufmerksamkeit verdient hier die dritte Spalte der Tabellen. Variablen, die mit PHP_INI_ALL gekennzeichnet sind, lassen sich mit der Funktion ini_set() innerhalb eines Scriptes ändern oder in einer .htaccess-Datei setzen. So kann man zum Beispiel innerhalb eines Scriptes und unabhängig vom Server-Betriebssystem den Include-Path anpassen:

    $include_path[] = ".";
    $include_path[] = "pear/";
    
    ini_set("include_path", implode(strpos($_SERVER['SERVER_SOFTWARE'], 'Win') 
      ? ';' 
      : ':', 
      $include_path
    ));

Mit PHP_INI_PERDIR gekennzeichnete Variablen lassen sich ausschließlich mittels einer .htaccess-Datei setzen. So ist auf manchen Servern per default session.use_trans_sid deaktiviert. Folgende .htaccess-Datei aktiviert dies:

    <IfModule mod_php4.c>     php_value session.use_trans_sid 1</IfModule>

Um mit PHP_INI_SYSTEM gekennzeichnete Variablen zu ändern, benötigt man Zugriff auf die php.ini.

Valid HTML 4.01! Valid CSS!

4.10. Meine Änderungen mit ini_set() haben keine Wirkung. Wie kann ich Konfigurationsvariablen zur Laufzeit ändern?
http://www.php-faq.de/q/q-konfiguration-laufzeit.html
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team