Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]9720[/thread]

Alternativen zum DzSoft Perl Editor: simulierte Webserveraktivität



<< |< 1 2 >| >> 14 Einträge, 2 Seiten
peggy
 2004-07-26 14:55
#94969 #94969
User since
2004-07-23
29 Artikel
BenutzerIn
[default_avatar]
Huhu!
In dem Buch das ich gerade über Perl lese, wird vorgeschlagen den DzSoft Editor zu nutzen um seine CGI-Programme zu testen. Leider ist dieser Shareware und zudem für Linux nicht verfügbar. Gibt es einen Editor für Linux, der Webserveraktivitäten simulieren kann? Ich möchte nämlich erstmal keinen Webspace einrichten!
grüße peggy
Ronnie
 2004-07-26 14:58
#94970 #94970
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Richte dir doch einfach einen Webserver unter Linux ein. Dann könntetst du CGIs im 'richtigen' Umfeld entwickeln.
PS.: Welches Buch ist es denn? Ansonsten willkommen an Bo(a)rd!\n\n

<!--EDIT|Ronnie|1090839601-->
format_c
 2004-07-26 15:01
#94971 #94971
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Jep genau, das hätte ich jetzt auch gesagt. Wir stehen dir auch gern bei der Konfiguration des Webservers, am liebsten Apache, bei.

Gruß Alex
murphy
 2004-07-26 15:09
#94972 #94972
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Konqueror, der Webbrowser des KDE Projekts, kann ebenfalls CGI's ausführen, ohne dass man einen Webserver installieren müsste (siehe dazu die Konqueror Dokumentation zum URL-Protokollprefix cgi://)
Ich denke aber auch, dass es empfehlenswert wäre, sich eine Apache-Testumgebung einzurichten -- man muss ja nicht gleich den Zugriff von außen erlauben ;)
When C++ is your hammer, every problem looks like your thumb.
Crian
 2004-07-26 15:17
#94973 #94973
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Hallo peggy,

auch von mir nochmal an dieser Stelle herzlich willkommen (Peggy bekam den Link zum Forum von einem Arbeitskollegen meiner Freundin) :)

Was für eine Linuxdistribution hast Du denn? Meistens ist das Einrichten von Apache (Webserver) nicht sehr kompliziert, wenn man nicht ganz bestimmte Dinge erreichen will.

Vielleicht ist die Lösung mit Konqueror ja aber auch schon ausreichend?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
[E|B]
 2004-07-26 15:27
#94974 #94974
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
@peggy

Herzlich Willkommen! :) (Bist du auch einer von IHNEN? :D)

Quote
Konqueror, der Webbrowser des KDE Projekts, kann ebenfalls CGI's ausführen, ohne dass man einen Webserver installieren müsste (siehe dazu die Konqueror Dokumentation zum URL-Protokollprefix cgi://)


Hey, krass. Das wusste ich noch nicht. Das schau ich mir mal an.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
peggy
 2004-07-26 15:27
#94975 #94975
User since
2004-07-23
29 Artikel
BenutzerIn
[default_avatar]
ich probier mal Konqueror aus :) Ich lese grade Easy Perl. Das Problem mit dem einrichten ist, dass ich in der Uni sitze und eigentlich nicht viel ahnung von linux habe, d.h. ich weiß nicht genau wie ich hier was installieren kann (z.b. den deadftp), da man doch irgendwie die Pfade in die shell selbst reinschreiben muss oder so :S Manche sachen kann man einfach so installieren, andere irgendwie nicht. Und meine Praktikabetreuer sind heute alle nicht da ;)
Grüße peggy
PS Hier is Suse 9.0 installiert!\n\n

<!--EDIT|peggy|1090841349-->
Crian
 2004-07-26 18:02
#94976 #94976
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Hast Du root Rechte? Vermutlich nicht. Aber ev. läuft dann schon ein Apache.

Gibt es zufällig das Verzeichnis /srv/www/cgi-bin ?

Was sagt ein "ps aux|grep httpd" ?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
peggy
 2004-07-26 18:21
#94977 #94977
User since
2004-07-23
29 Artikel
BenutzerIn
[default_avatar]
huhu!
Also es gibt nen apache ordner mit nem cgi-bin ordner und wenn ich in die console diesen befehl eingebe kommt folgendes heraus(benutzername weggelassen ;)):
*benutzername* 24587 0.0 0.0 1656 580 pts/4 S 16:11 0:00 grep httpd
Strat
 2004-07-26 18:37
#94978 #94978
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
das heisst, dass der apache wahrscheinlich nicht gestartet ist...

gib mal in die shell ein:

Code: (dl )
apachectl restart

dann muesste der apache eigentlich gestartet werden (wenn es als normaler user nicht funktioniert, dann brauchst du root-rechte)

Dann kannst du dein CGI-Script in das cgi-bin - Verzeichnis deines Webserver stellen (wenn du die datei von windows aus via FTP uebertraegst, achte darauf, dass du sie im ascii-modus uebertraegst), ihm ausfuehr-rechte geben mit:
Code: (dl )
chmod 755 scriptname.cgi

und es dann hoffentlich mit einem Webbrowser ansehen:
http://servername/cgi-bin/scriptname.cgi

(Nebenbei: am besten fuer CGI-Scripte ist es, die Endung .cgi dafuer zu verwenden, weil die 1. Standardmaessig beim Apache eingerichtet ist, und 2. .pl normalerweise fuer mod_perl (=eine andere schnittstelle zum Apache) verwendet wird)

du kannst auch einfach testen, ob du dich im script irgendwo vertippt hast, und so syntax errors schon von vorneherein herausfinden:
Code: (dl )
perl -c scriptname.cgi

das fuehrt das script nicht aus (d.h. BEGIN-Bloecke und so werden schon ausgefuehrt, nicht aber "normaler code"), sondern compiliert nur den code, und zeigt dabei eventuelle fehler an

Verwende zum Entwickeln am besten immer folgenden Anfang in die Datei:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#! /usr/bin/perl
use warnings;
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
# ... usw, z.B:
my $cgi = CGI->new();
print $cgi->header(-type => 'text/html');
print $cgi->start_html(-title => 'Testseite');
print $cgi->h1("Testseite");
print $cgi->end_html();

wenn das script dann laeuft und ins offene internet gestellt wird, entferne besser die Zeile use CGI::Carp(...), weil die einem hacker eventuell zu viele Infos ueber den internen scriptaufbau geben koennte; aber zum entwickeln ist sie klasse...


wenn ein 500er fehler kommt, findest du die Logdatei meistens unter /var/log/httpd/ mit namen error oder error.log oder so aehnlich (ich lasse die gerne mit dem folgenden Befehl in einer eigenen shell mitlaufen:
Code: (dl )
tail -f /var/log/httpd/error.log
\n\n

<!--EDIT|Strat|1090852807-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 >| >> 14 Einträge, 2 Seiten



View all threads created 2004-07-26 14:55.