PHP als CGI
paeonia
- php
Alaaf und helau
ich möchte eine eigentlich funktionierende XAMPP-Installation mit UMN-Mapserver erweitern um PHP/Mapscript. Dazu sollte PHP als CGI installiert sein.
Das Ganze ist nur auf dem localhost zum Üben, Lernen, Testen, ich mache mir jetzt erst mal keine Sorgen um Sicherheit usw. -> später wohl
Also möchte ich jetzt PHP statt als Modul als CGI zum Laufen kriegen. Dazu habe ich mir unter http://www.php.net/manual/de/install.windows.apache2.php das Beispiel angesehen und folgende Zeilen in der httpd.conf eingefügt.
########
ScriptAlias /php/ "d:/xampp/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"
#########
Meldung im phpinfo ist immer noch "Sie benutzen nicht CGI PHP". Ich habe die Datei gespeichert und xampp neu gestartet.
Was ist da los? Was muß ich außerdem ändern?
Und dann habe ich noch folgende Meldung:
"dl() [function.dl]: Not supported in multithreaded Web servers - use extension=php_mapscript.dll in your php.ini in D:\xampp\htdocs\UMN\BegMS\phpinfo.php on line 7"
Daraufhin habe ich "extension=php_mapscript.dll" in meinen php.ini-pfad (in phpinfo gefunden) = "D:\xampp\apache\bin\php.ini" kopiert, aber das hat auch noch nicht geholfen. Aber dafür bekomme ich eine Fehlermeldung von Apache.exe, daß die komponente libmap.dll nicht gefunden wird.
Es wäre nett, wenn mir jemand helfen könnte. Gerne nach Weiberfastnacht.
Feiert schön rät paeonia
你好 paeonia,
Meldung im phpinfo ist immer noch "Sie benutzen nicht CGI PHP". Ich habe die Datei gespeichert und xampp neu gestartet.
Was ist da los? Was muß ich außerdem ändern?
Hast du vorher PHP schon laufen gehabt? Als Modul? Wenn ja, hast du die LoadModule-Direktive entfernt, die das PHP-Modul lädt?
再见,
克里斯蒂安
Hi und guten Morgen
Hast du vorher PHP schon laufen gehabt? Als Modul?
vermutlich ja, denn ich habe PHP in Zusammenhang mit MySQL schon benutzt, habe mir aber nie Gedanken darüber gemacht, wie es installiert ist, weil ich einfach die XAMPP-Sorglos-Variante benutzt habe.
Wenn ja, hast du die LoadModule-Direktive entfernt, die das PHP-Modul lädt?
NEin. Ich nehme an, daß ich in der .../apache/conf/httpd.conf nachsehen muß. Dort habe ich allerdings kein Modul gefunden, daß in der LoadModule-Direktive irgendetwas für mich erkennbares mit PHP zu tun hat.
z.B. finde ich folgendes aktiv:
LoadModule cgi_module modules/mod_cgi.so
LoadModule isapi_module modules/mod_isapi.so
Meinst Du diese Direktiven?
Gruß von Paeonia
你好 paeonia,
Wenn ja, hast du die LoadModule-Direktive entfernt, die das PHP-Modul lädt?
NEin. Ich nehme an, daß ich in der .../apache/conf/httpd.conf nachsehen muß. Dort habe ich allerdings kein Modul gefunden, daß in der LoadModule-Direktive irgendetwas für mich erkennbares mit PHP zu tun hat.
z.B. finde ich folgendes aktiv:
LoadModule cgi_module modules/mod_cgi.so
LoadModule isapi_module modules/mod_isapi.so
Ja, diese Direktiven sind die richtigen. Wenn du PHP vorher schon verwendet hast, wird sehr wahrscheinlich hier ein Modul geladen dafür, was dann dafür sorgt, dass PHP nicht als CGI ausgeführt wird. Ich weiß aber nicht mehr auswendig, wie das Modul unter Windows heißt, sorry.
Um das zu testen, könntest du deine Konfiguration abändern:
ScriptAlias /php/ "d:/xampp/php/"
AddType application/x-httpd-php-cgi .php
# For PHP 5
Action application/x-httpd-php-cgi "/php/php-cgi.exe"
Beachte das angefügte „-cgi“ beim AddType und Action.
再见,
克里斯蒂安
Hi Christian,
Um das zu testen, könntest du deine Konfiguration abändern:
ScriptAlias /php/ "d:/xampp/php/"
AddType application/x-httpd-php-cgi .phpFor PHP 5
Action application/x-httpd-php-cgi "/php/php-cgi.exe"
>
> Beachte das angefügte „-cgi“ beim AddType und Action.
Das habe ich, und Apache neu gestartet. Die Ausgabe ist immer noch die gleiche :-(
Ich benutze folgendes Script zur Ausgabe:
xxxxxxxxxxxxxxxxxxxx
<HTML>
<BODY>
<?php
$sapi\_type = php\_sapi\_name();
if (substr($sapi\_type, 0, 3) == 'cgi') {
echo "Sie benutzen CGI PHP\n";
} else {
echo "Sie benutzen nicht CGI PHP\n";
}
?>
</BODY>
</HTML>
xxxxxxxxxxxxxx
Vielleicht kannst Du mir ja noch einen Tipp geben
Danke sagt Paeonia