Конфигурация доктрины в Zend Framework 3

Я использую Zend Framework 3 для своего проекта. Я хотел бы использовать Doctrine с Sql Server 2014. Когда я использую Zend-Db, все в порядке, но при использовании Doctrine мне выводится это сообщение:

Fatal error: Invalid handle returned. in C:\Users\root\zendwithsqlserver\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php on line 43

Я выполнил все настройки, необходимые для доктрины Сначала я настраиваю учетные данные базы данных сервера sql в config / autoload / local следующим образом:

<?php 
use Doctrine\DBAL\Driver\PDOSqlsrv\Driver as PDOSqlsrvDriver;
return array(
'doctrine' => [
    'connection' => [
        'orm_default' => [
            'driverClass' => PDOSqlsrvDriver::class,
            'params' => [
                'host'     => 'localhost',
                'user'     => 'sa',
                'password' => 'mypassword',
                'dbname'   => 'blog',
            ]
        ],
    ],
],
);

В завершение в моем файле module.config.php, расположенном в module / Application / module /, я добавляю код доктрины, чтобы он знал, где расположены мои объекты.

'doctrine' => [
    'driver' => [
        __NAMESPACE__ . '_driver' => [
            'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
            'cache' => 'array',
            'paths' => [__DIR__ . '/../src/Entity']
        ],
        'orm_default' => [
            'drivers' => [
                __NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver'
            ]
        ]
    ]
]

Я хотел бы знать, как исправить эту ошибку ?:

Fatal error: Invalid handle returned. in C:\Users\root\zendwithsqlserver\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php on line 43

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

Я не использовал доктрину с mssql, но, исходя из этого вопроса (stackoverflow.com/questions/38222539/…), можете ли вы добавить ConnectionPooling => 0 в свою конфигурацию?

Mehmet SÖĞÜNMEZ 13.03.2018 14:28

Даже если я добавлю ConnectionPooling => 0, у меня будет та же ошибка

SANDWIDI 13.03.2018 14:56

проверьте и подтвердите с помощью пути к объекту,

Gautam Rai 22.05.2018 17:21
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
3
549
1

Ответы 1

Измените local.php, как показано ниже.

<?php
use Doctrine\DBAL\Driver\SQLSrv\Driver as SQLSrvDriver;

return [
   'doctrine' => [
       'connection' => [
           'orm_default' => [
               'driverClass' => SQLSrvDriver::class,
               'params' => [
                   'host'     => 'USER-PC\MYINSTANCE',                    
                   'user'     => 'sa',
                   'password' => 'mypassword',
                   'dbname'   => 'blog',
                   'port'     => '49166'
               ]
           ],            
       ],        
   ],
];

Пожалуйста, обратитесь по этой ссылке, чтобы найти номер порта mssql: Определение порта, используемого ядром СУБД SQL Server с помощью диспетчера конфигурации SQL Server

Другие вопросы по теме