Hallo,
ich habe auf meinem Rechner Apache und Perl installiert. Leider bekomme ich es nicht hin, daß die erste Zeile nicht auf #!/usr/bin/perl verweist, sonder bei mir auf #!d:/perl/bin/perl -w zeigen muß. Um ein Skript offline zu testen, muß ich somit alle Dateien ändern und beim Aufspielen auf einen externen Server wieder alles rückgängig machen.
Wer kann mir bei meinem Problem helfen?
Grüße
Sven
ich habe auf meinem Rechner Apache und Perl installiert.
Leider bekomme ich es nicht hin, daß die erste Zeile nicht auf
#!/usr/bin/perl verweist, sonder bei mir auf
#!d:/perl/bin/perl -w zeigen muß. Um ein Skript offline zu
Gib bei der Installation von Perl (ich nehme an Du benutzt Windows und ActiveState Perl) als Installationspfad d:/usr an
und dann kannst Du die She-Bang Zeile belassen (#!/usr/bin/perl)
Voraussetzung ist, dass Perl und Apache auf des selben Platte liegen.
Klaus
Oder stell im Apache ein (weiss jetzt grad nicht wie genau), dass .pl Dateien mit perl.exe ausgeführt werden und nicht über CGI in der ersten Zeile nachschaut mit welchem Interpreter
Das ganze läuft leider immer noch nicht im I-Explorer. Nachdem ich die .pl Endung mit perl.exe über den Explorer verbunden habe, läuft mein „Hallo Welt“ Skript unter der Doseingabe
Sven
Das ganze läuft leider immer noch nicht im I-Explorer. Nachdem
ich die .pl Endung mit perl.exe über den Explorer verbunden
habe, läuft mein „Hallo Welt“ Skript unter der Doseingabe
Webserver (Apache oder MS IIS) richtig für die Ausführung von CGI-Scripts konfiguriert?
Webserver (Apache oder MS IIS) richtig für die Ausführung von
CGI-Scripts konfiguriert?
Apache liegt unter D:/Apache/Apache.exe
Perl liegt auf d:/usr/bin/perl.exe
mit ActivePerl-5.6.0.623-MSWin32-x86-multi-thread.msi installiert.
Ausschnitt aus meiner httpd.conf
63: ServerRoot „d:/Apache“
267: DocumentRoot „h:/Webs“
282: # Note that from this point forward you must specifically allow
particular features to be enabled - so if something’s not working as
you might expect, make sure that you have specifically enabled it
below.
This should be changed to whatever you set DocumentRoot to.
525: # To enable the this Windows specific behavior (and therefore -disable- the
equivilant Unix behavior), uncomment the following directive:
ScriptInterpreterSource registry
556: # ScriptAlias: This controls which directories contain server scripts.
ScriptAliases are essentially the same as Aliases, except that
documents in the realname directory are treated as applications and
run by the server when requested rather than as documents sent to the client.
The same rules about trailing „/“ apply to ScriptAlias directives as to
Alias.
ScriptAlias /cgi-bin/ „d:/Apache/cgi-bin/“
ScriptAlias /perl/ „d:/usr/bin/“
„d:/Apache/cgi-bin“ should be changed to whatever your ScriptAliased
CGI directory exists, if you have that configured.
AllowOverride None
Options All
Order allow,deny
Allow from all
778: # If you want to use server side includes, or CGI outside
ScriptAliased directories, uncomment the following lines.
To use CGI scripts:
AddHandler cgi-script .cgi
811: # Action lets you define media types that will execute a script whenever
a matching file is called. This eliminates the need for repeated URL
pathnames for oft-used CGI file processors.
Format: Action media/type /cgi-script/location
Format: Action handler-name /cgi-script/location
Action application/x-httpd-perl „/perl/perl.exe“
ich starte test.pl (Hallo Welt) im IE unter localhost/test.pl Hinweis: Forbidden, no permision
localhost/cgi-bin/test.pl Internal Server Error
Kann mir jemand unter Zuhilfenahme dieser Daten helfen?
Sven
Apache liegt unter D:/Apache/Apache.exe
Perl liegt auf d:/usr/bin/perl.exe
mit ActivePerl-5.6.0.623-MSWin32-x86-multi-thread.msi
installiert.
[…]
ich starte test.pl (Hallo Welt) im IE unter localhost/test.pl
Hinweis: Forbidden, no permision
localhost/cgi-bin/test.pl Internal Server Error
zumindest fehlt ein
AddHandler cgi-script .pl
folgende Zeile weg
ScriptAlias /perl/ „d:/usr/bin/“
und was ist mit
Options ExecCGI Includes
Action application/x-httpd-perl „/perl/perl.exe“ ???
ich denke Perl liegt bei Dir jetzt unter d:/usr/bin/perl.exe
Schau auch mal in das Error.log des Apache, da steht oft detaillierteres zur o.g. Fehlermeldung drin
Klaus
hallo
als erstes mußt du mal localhost/cgi-bin/test.pl eingeben
ansonsten, weiß der apache nicht daß er hier ein perl-script
ausführen muß. es muß aus dem cgi-bin-verzeichnis gestartet
werden. test.pl müßte sich dann aber auch in d:\apache\cgi-bin\
befinden (laut deiner config). mit der ersten zeile (#! …)
dürfte es eigentlich keine probleme geben, da du eingestellt
hast, daß der apache die windows registry benutzen soll.
gruß…
…puhli
So, jetzt läuft es.
Leider muß ich in der She-Bang Zeile noch D:/… eingeben, was man aber wohl nicht ändern kann.
Besten Dank an alle
Sven