웹 페이지의 데이터베이스 테이블에서 모든 값을 인쇄하는 .cgi 파일을 테이블 형식으로 만듭니다. 문제는 퍼티 터미널 에뮬레이터에서 파일을 실행할 때 브라우저에서 파일을 실행하려고하면 T가 서버에 파일의 정확한 위치를 입력 했는데도 "파일을 찾을 수 없습니다"라는 오류 메시지가 나타납니다.CGI 스크립트가 브라우저에서 실행되지 않습니다.
내가 뭘 잘못하고 있는지 이해할 수 없습니까? putty를 사용하여 chmod 755 *에 대한 내 파일의 권한을 설정했지만 여전히 작동하지 않습니다.이 파일 권한 또는 테이블 구조의 문제는 다른 브라우저에서 실행하는 경우에 잘못입니까?
people.CGI이
#!/usr/bin/perl
use CGI;
use DBI;
use strict;
#use warnings;
#use diagnostics;
print "Content-type:text/html\r\n\r\n";
#$q = CGI->new;
#print $q->header;
my $dsn = "DBI:mysql:Demo:localhost"; # Data source name
my $username = "mint"; # User name
my $password = "MINT123"; # Password
my $dbh;
my $sth; # Database and statement handles
$dbh = DBI->connect($dsn, $username, $password);
$sth = $dbh->prepare("SELECT * from people");
$sth->execute();
print "<h1>ganesh</h1>";
print "<table >
<tr>
<th>ID</th>
<th>Name of People Involved</th>
<th>Position</th>
<th>Roles(A user can have multiple roles)</th>
<th>Notes</th>
</tr>";
while(my $href = $sth->fetchrow_hashref)
{
print "<tr>";
print "<td>$$href{'id'}</td>";
print "<td>$$href{'name'}</td>";
print "<td>$$href{'pos'}</td>";
print "<td>$$href{'role'}</td>";
print "<td>$$href{'notes'}</td>";
#print "<td><input type='text' value=\"$$href{'display_name'}\" id =\"dis-$$href{'windows_id'}\" readonly> </td>";
#print "<td><input type='text' value=\"$$href{'email_id'}\" readonly> </td>";
print "</tr>";
}
print "</table>";
$sth->finish();
$dbh->disconnect();
데이터베이스 테이블 구조 파일
도와주세요 ... ...
테이블 데이터 ...
내가 퍼티에서 파일을 실행출력 ... 난 내 브라우저에서 파일을 실행하려고
메시지 ... 당신이받은
어리석은 저, 고마워요 데이브. –
대부분의 사람들은 CGI.pm을 사용하여 더 이상 웹 응용 프로그램을 작성하지 않으며, CGI 환경에서 실행되는 응용 프로그램도 더 이상 사용하지 않습니다. [Mojolicious] (http://mojolicio.us) 애플 리케이션은 당신이 CGI에 따라 배포해야하는 경우 작업의 모든하면 (예를 들어 아파치가) 다음의 서버 것을 알고 테스트하고 디버그 (나는 댄서가 너무 확신) 훨씬 쉽게 구성. 그냥 내 $ 0.03 (인플레이션) –
"Mojolicious 응용 프로그램 테스트 및 디버그 (나는 댄서가 너무 확신)하기가 훨씬 쉽다"- 기본적으로 당신이 PSGI에서 실행 아무것도 할 수 있습니다. –