PHP4 FCGI -d übergibt keine Laufzeitvariablen

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von Kaimane, 26. Dez. 2012.

  1. Kaimane

    Kaimane Member

    Habe PHP 4.4.9 als fcgi kompiliert. ISPC 3.0.5.0 rc1 ist installiert.
    PHP 4 wurde als zusätzliche PHP-Version in ISPC3 integriert.

    Die .php-fcgi-starter eines Test-Webs:
    Code:
    #!/bin/sh
    PHPRC="/var/www/conf/web434"
    export PHPRC
    PHP_DOCUMENT_ROOT="/var/www/clients/client98/web434"
    export PHP_DOCUMENT_ROOT
    PHP_FCGI_MAX_REQUESTS=5000
    export PHP_FCGI_MAX_REQUESTS
    exec /usr/bin/php4-cgi \
     -d open_basedir="/var/www/clients/client98/web434/web:/var/www/clients/client98/web434/tmp:/usr/share/php5:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin" \
    -d upload_tmp_dir=/var/www/clients/client98/web434/tmp \
    -d session.save_path=/var/www/clients/client98/web434/tmp \
     $1
    
    Rufe ich in diesem Web phpinfo(); auf bleibt open_basedir leer. Auch upload_tmp_dir wird nicht dem richtigen Verzeichnis gefüllt; die Variable bleibt auch leer.
    Wechsel ich die PHP Version in ISPC3 auf Default (PHP 5.3) und rufe dann phpinfo(); auf werden die übergebenen Variablen einwandfrei gefüllt.

    Anders ist es hier:
    Code:
    php4-cgi -d open_basedir=/var/www -i > /var/www/php4info.html
    
    In der php4info.html ist zu sehen, dass open_basedir mit /var/www übergeben wurde.

    Gibt es bei php4 + fcgi eine Stellschraube, damit die Variablen von php4 übernommen werden?

    Vielen Dank für eure Hilfe!

    === EDIT ===
    Vermutlich wird es nicht über den Parameter -d bei PHP4 funktionieren. Bitte korrigiert mich, wenn es doch anders ist.

    Besteht eine andere Möglichkeit bei Anlage eines neuen Webs mit PHP4 open_basedir und die anderen beiden Variablen dem Web mitzugeben, ohne die Angaben jedes Mal manuell in die PHP-Direktiven-Feld einzutragen?
     
    Zuletzt bearbeitet: 26. Dez. 2012
  2. Till

    Till Administrator

    Du kannst sie z.B. als Defaultwert des php ini direktiven Feldes mittels phpmyadmin setzen.
     
  3. Kaimane

    Kaimane Member

    Das wird wohl die einzige Möglichkeit bleiben.
    Und bei Anlage des neuen Webs müssen die Verzeichnisse manuell an das Web angepasst werden, da man an dieser Stelle (im Direktiven-Feld) leider noch nicht mit Platzhaltern (website_id, client_id, ...) arbeiten kann.

    Dies wäre sicherlich ein Feature für die 3.0.6 :)
     

Diese Seite empfehlen