pitech-mures / mssqlbundle
v1.1
2017-09-13 13:27 UTC
Requires
- mediamonks/mssql-bundle: ^1.0@dev
This package is not auto-updated.
Last update: 2024-09-20 19:19:50 UTC
README
此捆绑包包含对 mediamonks/symfony-mssql-bundle 的调整,以确保与 Microsoft Sql Server 2005 的兼容性。此说明基于在 mediamonks github 上的原始说明。
安装
A) 将 Pitech 捆绑包添加到项目中
composer require pitech-mures/mssqlbundle
B) 在 AppKernel.php 中初始化 Pitech 和 Mediamonks 捆绑包
new MediaMonks\MssqlBundle\MediaMonksMssqlBundle(),
new Pitech\MssqlBundle\PitechMssqlBundle(),
C) 启用驱动器
现在您应该可以通过更新 app/config/config.yml
中的 Doctrine DBAL 配置来启用驱动器,使其看起来像这样
doctrine:
dbal:
driver_class: Pitech\MssqlBundle\DBAL\Driver\PDODblib\Driver
wrapper_class: MediaMonks\MssqlBundle\Doctrine\DBAL\Connection
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF-8
D) 启用 DB 会话处理器
由于 Symfony 提供的默认 PDO 会话处理器不支持 pdo_dblib
,需要一个自定义处理器。幸运的是,配置它与配置默认处理器非常相似。
打开 app/services.yml
并添加以下服务
services:
pdo:
class: MediaMonks\MssqlBundle\PDO\PDO
arguments:
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
options:
calls:
- [setAttribute, [3, 2]] # \PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION
session.handler.pdo:
class: MediaMonks\MssqlBundle\Session\Storage\Handler\PdoSessionHandler
public: false
arguments: ["@pdo"]
E) 启用 Composer 脚本
打开您的 composer.json
文件,并确保脚本添加到 post-install-cmd
和 post-update-cmd
"scripts": {
"post-install-cmd": [
"MediaMonks\\MssqlBundle\\Composer\\ScriptHandler::ensureDoctrineORMOverrides"
],
"post-update-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap"
]
}