Я пытаюсь настроить сервер для проекта в моем классе баз данных. Я напишу проект на php, разверну его через apache и подключусь к удаленному серверу Oracle. У меня проблемы с частью соединения оракула. У меня установлен модуль OCI8 с InstantClient версии 10.2. Я думал, что это работает, потому что, когда я запустил следующую программу из консоли, я получил правильный вывод.
Программа:
<?php
$conn = oci_connect("asdf", "asdf", "asdf");
if (!$conn) {
die("connection error\n");
}
$stid = oci_parse($conn, 'SELECT * FROM PARTS');
if (!$stid) {
die("statement parsing error\n");
}
$r = oci_execute($stid);
if (!$r) {
die("execution error\n");
}
print "<table border='1'\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
print "<tr>\n";
foreach ($row as $item) {
print "\t<td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : " ") . "</td>\n";
}
print "</tr>\n";
}
print "</table>\n";
oci_free_statement($stid);
oci_close($conn);
?>
Результат:
<table border='1'>
<tr>
<td>1</td>
<td>wrench</td>
<td>silver</td>
</tr>
<tr>
<td>2</td>
<td>hammer</td>
<td>brown</td>
</tr>
</table>
Так что я думал, что все в порядке. Но когда я захожу на ту же страницу php в браузере, я получаю следующее сообщение об ошибке:
Fatal error: Call to undefined function oci_connect() in /home/eric/apache2/htdocs/realestate/basicQuery.php on line 2
Я подумал, что это может означать, что две разные версии php используются для командной строки и в apache, поэтому я запустил phpinfo (); для обоих. Но они оба вернулись с одной и той же php-информацией (версия PHP 5.2.10-2ubuntu6.4). Они используют разные файлы php.ini (/etc/php5/apache2/php.ini и /etc/php5/cli/php.ini), но оба они абсолютно одинаковы. Я не знаю, где еще искать что-то, что может отличаться в одной среде от другой.
Спасибо за любую помощь!