Soderle... hier mein altes Script:
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
Fragt mich bitte nicht mehr zu Einzelheiten warum ich wie etwas gemacht habe. Im Prinzip wird in dem Script geschaut ob eine bestimmte Datei (.php5) im htdocs Verzeichnis liegt und entsprechend der fcgi-starter umgeschrieben. Vielleicht hilft es Dir ja damit zwischen den Versionen umzuschalten. Du musst dafür das Script noch ein wenig anpassen.
Knut