>но в системе не появились файлы pdo_oci.so и oci8.so
>:-))))))))
А откуда они появятся-то? Они при конфигурировании PHP уже должны быть.
Надо Oracle Client и неплохо бы Oracle ODBC driver поставить для начала.
В нём эти библиотеки.
Причем если это Фря, то всё ручками придется делать.
>php-cgi при запуске демоном ругается на их отсутствие и php-шный скрипт ругается
>вот так
>
>Fatal error: Call to undefined function ocilogon() in /www/htdocs/script.php on line хххх
>
Конечно, он про эту функцию ничего не знает. Oracle Client-то не поставлен.
>
>соответственно пересобрал с поддержкой --with-oci8 но при открытии php странички nGinx пишет
>504 Gateway Time-out.
Для начала можно перловым скриптом из консоли потестировать, что Оракловые библиотеки работают.
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
# ОХЬХРЕ ОЕПЕЛЕММШЕ НЙПСФЕМХЪ ЙСДЮ-МХАСДЭ Б ГЮЦПСГНВМШИ ЯЙПХОР /etc/init.d/dbora
# ХКХ Б /etc/profile, Ю РН Oracle АСДЕР МЕУНПНЬН ПСЦЮРЭЯЪ АЕГ МХУ:
# ORACLE_HOME=/home/oracle/app/oracle/product/8.0.5; export ORACLE_HOME
# ORACLE_BASE=/home/oracle/app/oracle; export ORACLE_BASE
# ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33
# ORACLE_SID=baza; export ORACLE_SID
# NLS_LANG=russian_cis.CL8KOI8R; export NLS_LANG
$host = "blablabla.blabla.com";
$dbname = "BASE1";
$sid = $dbname;
$user = "user1";
$passwd = "12345678";
#ORACLE_HOME=/usr/local/oracle8-client
#LD_LIBRARY_PATH=:/usr/local/oracle-instantclient-10.2
$ENV{ORACLE_HOME}="/usr/local/oracle8-client";
$ENV{LD_LIBRARY_PATH}=$ENV{LD_LIBRARY_PATH}.":/usr/local/oracle-instantclient-10.2";
$ENV{NLS_LANG}="russian_cis.CL8MSWIN1251";
use DBI;
#############################
print "Available DBI drivers:
\n";
$, = "
\n";
@names = DBI->available_drivers;
print @names;
print "<hr>\n";
#############################
$dbh = DBI->connect("dbi:Oracle:$dbname", $user, $passwd) || die "$DBI::errstr";
#$dbh = DBI->connect("dbi:Oracle:host=$host;sid=$sid", $user, $passwd);
print "ORACLE_HOME=".$ENV{ORACLE_HOME}."
\n";
print "LD_LIBRARY_PATH=".$ENV{LD_LIBRARY_PATH}."
\n";
print "\n
dbh=$dbh
\n";
$sql = "SELECT * FROM table1 ORDER BY rec_date";
$sth = $dbh->prepare($sql);
print "sth=".$sth."
\n";
$sth->execute;
print "rows=".$sth->rows."
\nresult=".$result."
\n";
while (@row = $sth->fetchrow)
{
$id = $row[0];
$rec_date = $row[1];
$rem_ip = $row[2];
$rec_msg = $row[3];
print "<hr>$id - $rec_date - $rem_ip - $rec_msg\n";
}
$sth->finish;
$dbh->disconnect;
exit 1;