В PHP возникает ошибка «Class 'PDO' not found» при попытке подключения к БД Oracle - PullRequest
2 голосов
/ 17 сентября 2009

Я пытаюсь подключиться к своей базе данных Oracle, используя PDO, но я получаю Ошибка Class PDO not found. Я проверил, что PDO включен, и кажется, что так. Тем не менее я не могу отследить, почему я получаю эту ошибку. Вот моя команда настройки,

cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" 
"--with-snapshot-template=d:\php-sdk\snap_5_2\vc6\x86\template" 
"--with-php-build=d:\php-sdk\snap_5_2\vc6\x86\php_build" 
"--with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk,shared" 
"--with-oci8=D:\php-sdk\oracle\instantclient10\sdk,shared"

PHP ver: 5.2.8 Oracle: 10,2

Это код, который я использую для подключения к БД.

try{
    $conn = new PDO("oci:dbname=".$oc_db,$oc_user,$oc_pass);
}catch(PDOException $e){
    echo ($e->getMessage());
}

Может ли быть какая-то другая причина, по которой я получаю эту ошибку? Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 20 сентября 2009

Обычно это означает, что рассматриваемое расширение PDO не скомпилировано и не настроено так, чтобы PHP мог его использовать. На какой операционной системе вы компилируете PHP?

Я не уверен, скомпилирован ли основной модуль PDO, если вы указываете только компиляцию его расширения Oracle (PDO-OCI).

Вам следует ознакомиться с руководством по PHP относительно того, как установить и включить модуль PDO.

Вам стоит взглянуть на эти сайты: http://is.php.net/manual/en/pdo.installation.php http://is.php.net/manual/en/ref.pdo-oci.php

0 голосов
/ 12 сентября 2014

Проверьте мой вопрос, я устраняю эту и другие ошибки, но затем я застрял, Записи не найдены ... Agiletoolkit и Oracle. Элементы сетки / CRUD

Моя строка подключения Oracle в файле config-default.php agiletoolkit выглядит следующим образом:

$config['dsn']= array( 'oci:dbname=localhost/MYDATABASE', 'MYUSER', 'MYPASSWORD' );

Чтобы исправить ошибку драйвера не найден, я включил расширение = php_pdo_oci8.dll в файле php.ini из моей установки apache.

Затем произошла ошибка, связанная с отсутствующим файлом «oci.php», чтобы решить, что я должен был создать свой собственный файл, подобный этому:

class DB_dsql_oci extends DB_dsql {
    function limit($cnt,$shift=0){
        $cnt+=$shift;

    $this->where('NUM_ROWS>=',$shift);
        $this->where('NUM_ROWS<',$cnt);
        return $this;
    }
    function render_limit(){
        return '';
    }
}

и поместил его в: ... atk4 \ lib \ DB \ dsql

Чтобы исправить ошибку специальных символов из oracle, я установил строку 59 в /atk4/lib/DB/dsql.php в пустую строку, например: public $bt='';

Мне удается запустить тест базы данных, и он говорит «Успешно подключен к базе данных».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...