ispCP - Board - Support
Auswahl PHP4/PHP5 pro Domain - Printable Version

+- ispCP - Board - Support (http://www.isp-control.net/forum)
+-- Forum: ispCP Omega International Area (/forum-22.html)
+--- Forum: German Corner (/forum-26.html)
+--- Thread: Auswahl PHP4/PHP5 pro Domain (/thread-6374.html)



Auswahl PHP4/PHP5 pro Domain - abuhome - 04-12-2009 06:09 PM

Hi zusammen und schöne Ostern,

es gab hier im Forum mal einen Thread inkl. Patch glaube ich, wo jemand eine Implementierung zur Auswahl zwischen PHP4 und PHP5 geschrieben hat. Leider finde ich diesen Thread nicht wieder. Hat zufälligerweise noch irgendjemand ein paar Infos dazu. Besten Dank.

Gruß


RE: Auswahl PHP4/PHP5 pro Domain - Knut - 04-12-2009 07:49 PM

Aloha.

Ich hatte mir für eine sehr frühe Installation von ispCP mal ein kleines Script geschrieben. Ob das jetzt noch so funktioniert weiss ich nicht.

Es prüft auch nur ob eine Datei .php5 im htdocs-Verzeichnis existiert und schreibt entsprechen den Starter um.
Vielleicht kannst Du es für Deine Ansprüche und ispCP Version anpassen.

Code:
#!/bin/bash

# Autor: Knut Herter
# Web : http://www.systemtechnics.de
# Datum : 04-2007
# Tip : Alle 5 Minuten per Cron starten lassen.

## Variablen setzen

# Verzeichnis der Webs
VWEB=/var/www/virtual

# Verzeichnis des FCGI Starters
VCGI=/var/www/fcgi

# Datei mit Domainkonfiguration
CCGI=fcgi-domains.conf


############
#
# Ab hier nicht mehr aendern
#
############

TMPFILE=`mktemp /tmp/fcgi-fix.XXXXXXXX`

#Domainliste
DOMAINLIST=`ls $VWEB`

for DOMAIN in $DOMAINLIST
do
    ######
    # Konfig-File vorhanden ? Ja, ansonsten anlegen

    if test ! -f $VCGI/$CCGI; then
        touch $VCGI/$CCGI;
    fi

    # Wenn Domain auch im php-Starter-Verzeichnis existiert
    if test -d $VCGI/$DOMAIN; then
        ######
        # Berechtigung (User) ermitteln
        RVWEB=`stat -c%U $VWEB/$DOMAIN`
        RVCGI=`stat -c%U $VCGI/$DOMAIN`

        # Wenn ein File .php5 im Web-Ordner liegt, soll auf
        # php5 umgeschaltet werden

        if test -f $VWEB/$DOMAIN/htdocs/.php5; then
            chown $RVWEB:$RVWEB $VWEB/$DOMAIN/htdocs/.php5
            PHPV=php5
            if test -f $VWEB/$DOMAIN/htdocs/.php4; then
                rm $VWEB/$DOMAIN/htdocs/.php4 -f
            fi
        else
                        PHPV=php4
            touch $VWEB/$DOMAIN/htdocs/.php4
            chown $RVWEB:$RVWEB $VWEB/$DOMAIN/htdocs/.php4
        fi

        #Alte, eingestellte PHP Version einlesen
        PHPVOLD=`grep +$DOMAIN+ $VCGI/$CCGI|cut -d "=" -f 2`

        ######
        # Wenn sich die PHP-Version seit dem letzten Aufruf geaendert hat
        # dann die Verarbeitung starten

        if test "$PHPVOLD" != "$PHPV"; then

            ######
            # Starter Dateien schreiben

                    WFILE=$VCGI/$DOMAIN/php4-fcgi-starter
            echo "#!/bin/sh" > $WFILE
            echo "# Alle alten PHP Prozesse, die dem Init gehoeren, killen" >> $WFILE
            echo "" >> $WFILE
            echo "ps ax -F | awk '{ if ( \$3 == \"1\" && \$1 == \"$RVCGI\" && \$12 == \"/usr/bin/$PHPV-cgi\" ) { print \"kill \" \$2 } }' | sh  " >> $WFILE
            echo "PHPRC=\"/var/www/fcgi/$DOMAIN/$PHPV/\"" >> $WFILE
            echo "export PHPRC" >> $WFILE
            echo "" >> $WFILE
            echo "exec /usr/bin/$PHPV-cgi" >> $WFILE

                    WFILE=$VCGI/$DOMAIN/php5-fcgi-starter
                    echo "#!/bin/sh" > $WFILE
                    echo "# Alle alten PHP Prozesse, die dem Init gehoeren, killen" >> $WFILE
                    echo "" >> $WFILE
                        echo "ps ax -F | awk '{ if ( \$3 == \"1\" && \$1 == \"$RVCGI\" && \$12 == \"/usr/bin/$PHPV-cgi\" ) { print \"kill \" \$2 } }' | sh  " >> $WFILE
                    echo "PHPRC=\"/var/www/fcgi/$DOMAIN/$PHPV/\"" >> $WFILE
                    echo "export PHPRC" >> $WFILE
                    echo "" >> $WFILE
                    echo "exec /usr/bin/$PHPV-cgi" >> $WFILE

        fi


                if test "$PHPVOLD" != "$PHPV"; then
                    echo -e "php-Version (alt) = $PHPVOLD - php-Version (neu) = $PHPV - \033[1;32m$DOMAIN \033[1;0m"
        else
                        echo -e "php-Version (alt) = $PHPVOLD - php-Version (neu) = $PHPV - $DOMAIN"
        fi

        ######
        # aktuelle/neue php Version merken
                echo "+$DOMAIN+=$PHPV" >> $TMPFILE
    fi

done

    # Neue Konfiguration schreiben
        cp $TMPFILE $VCGI/$CCGI -f
        rm $TMPFILE



RE: Auswahl PHP4/PHP5 pro Domain - abuhome - 04-12-2009 09:08 PM

Vielen Dank.

das hilft mir schonmal etwas weiter. Aber ich weiß auch, das es das noch gab inkl. implementierung in die Gui. Aber Danke, werde mal gucken, was ich darauß mir bauen werde.

Gruß


RE: Auswahl PHP4/PHP5 pro Domain - Lucan - 04-13-2009 09:45 PM

Denke mal du meinst das hier oder?

http://www.isp-control.net/forum/thread-5638.html?highlight=php6


RE: Auswahl PHP4/PHP5 pro Domain - abuhome - 04-14-2009 04:52 AM

Genau das meine ich. Habe dem Entwickler auch schon eine Email zugesandt.

Danke.

Gruß


RE: Auswahl PHP4/PHP5 pro Domain - FISA4 - 04-14-2009 05:59 AM

(04-14-2009 04:52 AM)abuhome Wrote:  Genau das meine ich. Habe dem Entwickler auch schon eine Email zugesandt.

Danke.

Gruß

Wenn er Dir sein HowTo bzw. die patches schickt, kannst Du sie dann bitte hier reinsetzen?

Danke


FISA4


RE: Auswahl PHP4/PHP5 pro Domain - gOOvER - 04-14-2009 09:58 AM

php4 wird aber nicht mehr von ispCP in der Stable unterstützt, also wird Dir das Script nicht bringen. Wink


RE: Auswahl PHP4/PHP5 pro Domain - abuhome - 04-14-2009 04:29 PM

@fisa4
ja kein Problem. Bis jetzt hat er sich aber noch nicht gemeldet.

@goover
als ich den Thread eröffnet hatte, war mir schon im Vorfeld bekannt, dass irgendeiner soetwas schreibt. Big Grin Aber ich nutze PHP4 noch ab und zu und das ISPcP das nicht Unterstüzt ist mir bekannt. Nur darum geht es nicht. Ich brauche es einfach.