Получение пустого экрана для Perl CGI Script - PullRequest
0 голосов
/ 18 мая 2018

Я получаю пустой экран для приведенного ниже Perl CGI Script на веб-странице.Скрипт нормально выполняется на терминале, но когда я запускаю его из веб-браузера, он пуст.Пожалуйста, помогите.

Это работает, когда я перемещаю веб-контент в верхнюю часть страницы.В основном, любой контент, который я помещаю после подключения к БД, не отображается в веб-браузере.

ОС: Unix Apache2 Web Server

Примечание. Сценарий имеет разрешение на выполнение.

#!/usr/bin/perl

use strict;
use warnings;
use DBI;
use CGI;

print "Content-type: text/html\n\n";

# Simple HTML code follows
my $driver= "Oracle";
my $dsn = "DBI:$driver:sid=xxxxx;host=xxxxx;port=1521";
my $dbh = DBI->connect($dsn,'xxxx','xxxx');

#print $dbh;

my $sth = $dbh->prepare("SELECT * FROM TABLE WHERE ROWNUM <= 10");
$sth->execute;

print "<html> <head>\n";
print "<title>Hello, world!</title>";
print "</head>\n";
print "<body>\n";
print "<h1>Hello, world!</h1>\n";
print "<p>The Details  are as follows:</p>\n";
print "<table cols=5 border=1>\n";
print "<tr>\n";
print "<th>ACTION</th>\n";
print "<th>ALARM_TEXT</th>\n";
print "<th>ALARM_SEV</th>\n";
print "<th>EMS_NAME</th>\n";
print "</tr>";

while(  my $ref = $sth->fetchrow_hashref() ) {
        print "<tr>\n";
        print "<td>", $ref->{'ACTION'}, "</td>\n";
        print "<td>", $ref->{'ALARM_TEXT'}, "</td>\n";
        print "<td>", $ref->{'ALARM_SEV'}, "</td>\n";
        print "<td>", $ref->{'EMS_NAME'}, "</td>\n";
        print "</tr>\n";
}
print "</table>\n";
print "<h1>Hello, world!</h1>\n";
print "</body> </html>\n";

1 Ответ

0 голосов
/ 18 мая 2018

Исправлено путем добавления строки ниже в файл httdd.conf.

SetEnv ORACLE_HOME /oracle/app/oracle/product/11.2.0.4/db_1
...