Создать соединение с базой данных Oracle из PHP

0

Я пишу PHP файл для чтения некоторых файлов журналов и записи содержимого в базу данных Oracle. Я пытаюсь создать соединение с базой данных следующим образом.

$conn = oci_pconnect('myservice','oracle123','192.168.0.126:2483/XE');

if (!$conn) {
  $e = oci_error();
  echo trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

Вот мой полный код.

<!DOCTYPE html>
<html>
<body>

<?php

$conn = oci_pconnect('robiservice','oracle123','192.168.0.26:2483/XE');

if (!$conn) {
 $e = oci_error();
 echo trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
} 

$myfile = fopen("14121800_ussd_cdr.file", "r") or die("Unable to open file!");

if ($myfile) {
 while (($line = fgets($myfile)) !== false) {
    echo $line . "</br>";
}
} else {
 // error opening the file.
} 
fclose($myfile);

?>

</body>
</html>

Я запускаю свой код на сервере apache. Я помещаю код в папку htcocs.

Но проблема в том, что она дает пустую страницу. Я думаю, мне нужно установить драйверы Oracle на сервере. Но поскольку я новичок в этом, у меня нет четкого представления о том, как это сделать должным образом.

Любые предложения приветствуются.

Спасибо

  • 1
    Прежде всего, включите PHP-отчеты об ошибках в вашей среде разработки, чтобы вы не получили пустую страницу, а только сообщение об ошибке.
  • 0
    Можете ли вы проверить журнал сервера и опубликовать его здесь, если есть ошибка?
Теги:

2 ответа

0

Я создал соединение в рамках Zend следующим образом:

Шаг 1. В application/config/application.ini задайте параметры своей базы данных:

resources.multidb.db2.adapter = "Oracle"
resources.multidb.db2.charset = "utf8"
resources.multidb.db2.host = "183.19.163.149/pankaj_india"
resources.multidb.db2.port = "1521"
resources.multidb.db2.username = "username"
resources.multidb.db2.password = "password"
resources.multidb.db2.dbname = "databasname"

Шаг 2. Загрузите "InstantClient Package - Basic" для Windows со страницы OTN InstantClient. Поскольку PHP 32 бит, используйте 32-битную версию InstantClient.

Шаг 3. Разархивируйте файлы InstantClient в C:\instantclient_11_2 и отредактируйте среду Windows PATH, чтобы включить C:\instantclient_11_2. Например, в Windows XP выполните команду " Start > Control Panel > System > Advanced > Environment Variables и отредактируйте PATH в списке " System переменные".

Шаг 4. В файле php.ini включите следующие строки:

extension=php_oci8_11g.dll
extension=php_openssl.dll

Наконец, перезапустите сервер Apache.

  • 0
    Пожалуйста, найдите время, чтобы прочитать о том, как отформатировать ваши сообщения, а затем отредактируйте свои ответы. В настоящее время его очень трудно читать, и он будет привлекать только отрицательные отзывы других пользователей.
  • 0
    спасибо, но я много пробовал и подчеркивал, как форматировать пост
Показать ещё 2 комментария
0

Вам нужен драйвер Oracle Instant Client, Pecl и oci8. Руководство Oracle:

http://www.oracle.com/technetwork/articles/technote-php-instant-084410.html

Ещё вопросы

Сообщество Overcoder
Наверх
Меню