ich habe folgendes Problem:
An für sich läuft die Geschichte (fastcgi + apache2 mit debian) ganz ordentlich, also ohne Fehler in Verbindung mit confixx über suphp (wird zusätzlich wegen Confixx geladen), php4 und php 5 selbstkompiliert. php4 und php 5 kann man umschalten. Jetzt ist mir aber bei einem Skript aufgefallen "http://www.phplinkdirectory.com/demo/" dass wenn man es installiert unter php4 (php5 läuft erstmal gar nicht die Installation, weil er an einer Stelle, wenn man auf "Next" klickt, es gar nicht weitergeht (irgendeine php.ini Einstellung oder Inkompatibilität?)), später bei Ausführung des Skripts, bei den Links im Skript, also z. Bsp. beim Link "Top Hits" immer ein /php/ dazwischensteht. So in der Art: http://www.domain.de/[b]php[/b]/index.php. Das "php" ist aber völlig fehl am Platz und macht wahrscheinlich auch den Fehler. Der Fehler ist einfach mal eine kaputte Grafik und das er die eigentlichen Links nicht finden kann, also die Skriptseiten -> index.php o.ä., halt wegen dem "php" dazwischen (ergibt -> Seite nicht gefunden "404" Error).
Schalte ich auf php5, also nach der Installation sind die Links ok, das "php" dazwischen ist weg und die Grafik des Skripts funktioniert.
Ich poste mal meine config. Zu beachten ist, dass ich hier im Gegensatz zum Howto, nicht den Pfad /cgi-bin/... genommmen habe sondern einen virtuellen /php/.. da ansonsten sich keine CGI Skripte im cgi-bin Dir ausführen lassen.
In der vhost.conf steht zusätzlich und das muss auch so bleiben wegen confixx:
Code: Select all
ScriptAlias /cgi-bin/ /var/www/webx/html/cgi-bin/
Code: Select all
FastCgiWrapper /usr/lib/apache2/suexec2
FastCgiServer /var/www/php-fcgi-scripts/web0/php-fcgi-starter -user web0 -group web0
AddHandler php-fastcgi .php
AddHandler php4-fastcgi .php4
<Location /php/php-fcgi-starter>
SetHandler fastcgi-script
Options +ExecCGI
</Location>
<Location /php/php4-fcgi-starter>
SetHandler fastcgi-script
Options +ExecCGI
</Location>
Action php-fastcgi /php/php-fcgi-starter
Action php4-fastcgi /php/php4-fcgi-starter
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php4
Code: Select all
ScriptAlias /php/ /var/www/php-fcgi-scripts/webx/
<Directory "/var/www/php-fcgi-scripts/webx">
AllowOverride None
Options +ExecCGI -MultiViews -Indexes
Order allow,deny
Allow from all
</Directory>
suPHP_RemoveHandler .php
suPHP_Engine off
AddHandler php4-fastcgi .php4
AddHandler php-fastcgi .php
Der Pfad "php" existiert wie gesagt nicht im "htmlroot" der einzelnen vhosts.
Unter suphp (php 4.3) funktioniert das mit dem Skript sofort.
Werden noch Infos gebraucht?
Was könnte der Fehler sein?
Könnte der "alias" das Problem sein?
Warum nimmt man überhaupt den Alias "php" oder "cgi-bin" (wie im "Howto", wenn die Geschichte, also fastcgi -> php, nicht im cgi-bin Verzeicnis abläuft, oder wie im meinen Fall in /php/"? Klar der Alias steht für "/var/www/php-fcgi-scripts/webx", verstehe ich aber trotzdem nicht.
gruß cirox