Saya telah menyiapkan apache2 pada server fedora dan saya ingin menghasilkan HTML dengan skrip perl. Ini adalah skrip pengujian yang saya buat dengan bantuan dari perldoc:
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
my $cgi = CGI->new;
print $cgi->header,
$cgi->start_html('works'),
$cgi->h1('hello '),
$cgi->end_html;
Ini mengembalikan "Internal Server Error" tetapi ketika saya menjalankannya di terminal dengan perl test.cgi
, terlihat baik.
Saya telah menempatkannya di / cgi-bin dir, skrip skrip lain berfungsi tanpa masalah.
EDIT
Saya sudah mencoba dengan tugas satu baris seperti system("date")
dan itu mengembalikan tanggal di browser.
Juga memeriksa izin untuk kesalahan.
Ini berfungsi saat membuat dengan potongan kode berikut.
print "Content-type:text/html\r\n\r\n";
print '<html>';
print '<head>';
print '<title>Some Title</title>';
print '</head>';
print '<body>';
print '<h2>Hello </h2>';
print '</body>';
print '</html>';
Catatan eror :
[Wed Aug 01 20:16:19.108179 2018] [cgid:error] [pid 3781:tid 140519697967360] (8)Exec format error: AH01241: exec of '/var/www/cgi-bin/test.cgi' failed
[Wed Aug 01 20:16:19.108863 2018] [cgid:error] [pid 1112:tid 140518772139776] [client 192.168.0.105:46870] End of script output before headers: test.cgi
LARUTAN Saya pikir salah satu masalahnya mungkin HTML :: Entitas menginstalnya, lalu berhasil
$|++
tepat sebelum yang pertamaprint
. Lihat: perldoc.perl.org/perlfaq5.html#How-do-I-flush/…