PHP-FPM -> Apache -> Fehler

Dieses Thema im Forum "Entwicklerforum" wurde erstellt von mare, 24. Feb. 2013.

  1. mare

    mare Member

    Hallo,

    Ich habe gerade mal testhalber fastcgi auf fpm umstellen wollen.
    Beim Aufruf einer PHP Seite erscheint das im Error.log

    Code:
    [Sun Feb 24 18:51:02 2013] [error] [client 1.2.3.4] SoftException in  Application.cpp:221: File "/var/www/clients/client1/web3/web/index.php"  is not in document root of Vhost "/var/www/example.net/web"
    
    Wenn ich im vhost das DocumentRoot auf /var/www/clients/client1/web3/web/ stelle funktioniert es ?!


    Ich habe dann in der vhost.conf.master

    > <tmpl_if name='php' op='==' value='php-fpm'>
    > DocumentRoot <tmpl_var name='web_document_root'>
    > </tmpl_else>
    16a20,21
    > </tmpl_if>
    >

    Eingetragen und damit scheint es zu funktionieren.

    Code:
    <tmpl_if name='php' op='==' value='suphp'>
                    DocumentRoot <tmpl_var name='web_document_root'>
    </tmpl_else>
            <tmpl_if name='php' op='==' value='cgi'>
                    DocumentRoot <tmpl_var name='web_document_root'>
            </tmpl_else>
                    <tmpl_if name='php' op='==' value='php-fpm'>
                    DocumentRoot <tmpl_var name='web_document_root'>
            </tmpl_else>
                    DocumentRoot <tmpl_var name='web_document_root_www'>
            </tmpl_if>
    
            </tmpl_if>
    </tmpl_if>
    
    
     
  2. falko

    falko Administrator

    Welche Distribution und welches Setup genau (URL) hast Du benutzt? Ich kann das nicht reproduzieren, weder unter Debian Wheezy noch unter OpenSUSE 12.2. Benutzt Du SuExec oder nicht?
     
  3. mare

    mare Member

    Ich nutze Debian Squeeze nach dem Perfect Server Guide.
    Suexec wird auch verwendet.
    Ich kann das aber auch nochmal auf einem "vanilla" System probieren.

    Wir haben den Ordner typo3_src immer als Symlink in den Webs drin.
    Das scheint mit php-fpm auch nicht mehr "erlaubt" zu sein!?
     
  4. falko

    falko Administrator

    Ich habe das Template geändert, hatte aber auch mit dem alten keine Probleme.

    Mit TYPO3 unter PHP-FPM habe ich bis jetzt auch keine Probleme gehabt (allerdings unter nginx, aber das sollte hier keinen Unterschied machen).
     
  5. mare

    mare Member

    Hattest du typo3 im Webordner oder per Symlink eingebunden?
    Direkt im Webordner läuft es. Allerdings liegen dann X-mal dieselben Dateien auf dem Server.
     
  6. falko

    falko Administrator

    Direkt im Webordner. Hast du mal open_basedir geprüft?
     
  7. mare

    mare Member

    Mit fast-cgi funktioniert es. Das Verzeichnis wo die typo3 src liegen ist auch im Openbasedir drin.

    Es kommt die Meldung:

    Feb 25 19:20:18 2013] [error] [client 9.8.7.6] SoftException in Application.cpp:221: File "/data/typo3-src/typo3_src-4.2.1/index.php" is not in document root of Vhost "/var/www/clients/client1/web2/web"
     
  8. Till

    Till Administrator

    Das kann ja auch nicht funktionieren und hat noch nicht mal was mit ispconfig zu tun, denn /data ist nicht im suexec binary der Linux Distribution einkompiliert, daher ist der Pfad für Scripte bei Verwendung von Suexec nicht erlaubt.
     
  9. mare

    mare Member

    Komisch, das es dann per fastcgi geht :confused:

    Aber auch wenn ich typo3 nach /var/www/typo3 schiebe geht es nicht:

    SoftException in Application.cpp:221: File "/var/www/typo3/typo3_src-4.2.1/index.php" is not in document root of Vhost "/var/www/clients/client1/web6/web"

    Auch in /usr/local/bin (was in safepath vom suexec ist)
    SoftException in Application.cpp:221: File "/usr/local/bin/typo3_src-4.2.1/index.php" is not in document root of Vhost "/var/www/clients/client1/web6/web"
     
  10. Till

    Till Administrator

    Dannn fpm wohl noch striktere überprüfungen als fast-cgi und erlaubt keine scripte außerhalb des docroot.
     
  11. mare

    mare Member

    Wo ist eigentlich der "gegen_die_wand_renn" smilie ?

    Ich habe mir das gestern nocheinmal angesehen da mit der fpm Einstellungen keine Daten mehr im XCache gelandet sind. Und bei der vhosts.conf der Domain ... :eek:

    <if mod_fastcgi>

    Das gibt es unter Debian Squeeze nicht. Dort wird mod_fcgi verwendet was aber die ExternalServer Direktive nicht kennt :(

    Ein "lesen" der phpinfo Ausgabe zeigt auch das die .php Dateien per CGI und nicht per FPM aufgerufen werden.

    Also wird PHP-FPM mit DebianSqueeze und Apache nicht laufen.
    Dann fällt der vhosts auf cgi mit suexec zurück und das erzeugt dann das komische Verhalten mit den Symlinkzeugs.

    ------------------------------
    EDIT: Das Paket ist im non-free repository. Damit läuft es jetzt.
    EDIT2: Auch mit Symlinks des Typo3Source.
     
    Zuletzt bearbeitet: 6. März 2013
  12. Till

    Till Administrator

    ISPConfig verwendet mod_fcgi und mod_fastcgi, das eine für php-fcgi und das andere für php-fpm.
     
  13. mare

    mare Member

    Bei Squeeze ist nur wichtig, dass das non-free repo mit aktiviert ist :rolleyes:
     

Diese Seite empfehlen