Есть файл main-local.php:
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'oci:dbname=//[db_host:db_port]/[dbname]',
'username' => '***',
'password' => '***',
]
При первом подключении к БД выдавало ошибку "драйвер не найден". После установки драйвера возникает следующая ошибка:
PDOException: SQLSTATE[]: (null) Caused by: PDOException
введите описание изображения здесь
Пожалуйста помоги.






Для базы данных Oracle кодировка должна быть указана в dsn :
Итак, ваш dsn должен быть таким:
'dsn' => 'oci:dbname=//[db_host:db_port]/[dbname];charset=UTF8',
или попробуйте:
'dsn' => 'oci:dbname=//[db_host:db_port]/[dbname];charset=UTF-8',
Пожалуйста, ознакомьтесь с руководством здесь - Деталь набора символов и Обсуждение:
Спасибо за ваш ответ, я добавил charset=UTF8, но это мне не помогло. Та же проблема
Пробовали ли вы печатать phpinfo() и проверяли, правильно ли загружены ваши драйверы Oracle?
да, это - Oracle (OCI) driver for PDO - Wez Furlong
Ошибка PDOException: SQLSTATE[]: (null) Caused by: PDOException не особенно полезна.
Попробуйте запустить автономный пример PDO_OCI и посмотрите, улучшится ли ошибка:
<?php
error_reporting(E_ALL); // In PHP 5.3 use E_ALL|E_STRICT
ini_set('display_errors', 'On');
try {
$dbh = new PDO('oci:dbname=localhost/orclpdb;charset=AL32UTF8', 'hr', 'hrpassword',
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
exit;
}
$s = $dbh->prepare("select sysdate from dual");
$s->execute();
while ($r = $s->fetch(PDO::FETCH_ASSOC)) {
echo $r['SYSDATE'];
}
?>
Спасибо за ваш ответ! Сделал как вы показали, но та же ошибка SQLSTATE[]: (null)
Как вы установили PDO_OCI?
только что скачал драйвер с сайта оракула, поместил его в apache/bin и php/ext. После раскомментирования в php.ini
"веб-сайт оракула"? который из? Какая операционная система. Чем больше информации вы дадите, тем легче вам будет помочь.
(a) это OCI8, а не PDO_OCI (b) это не веб-сайт Oracle.
Лучше всего обновить свой исходный пост всеми подробностями о том, что вы скачали и что вы изменили в php.ini и т. д. Таким образом, мы можем помочь.
Хорошо. Какой из них вы можете порекомендовать?
попробуйте изменить на
localhostпосмотрите этот Почта, если это вам поможет.