在 laravel PHP7 之外使用 odbc 雄辩


Use odbc eloquent outside laravel PHP7

我在外面使用雄辩的laravel。我有自己的PHP应用程序。这就是我正在使用的 https://github.com/illuminate/database

我的配置如下

$settings3 = array(
'driver'    => 'odbc',
'dsn' => "Driver={SQL Server};Server={serverName};Trusted_Connection=true;Database=telesur_mis;",
'username' => 'user',
'password' => 'user',);
$capsule->addConnection($settings3,'teleappframework');

执行此代码后,我收到以下错误

致命错误: 未捕获的无效参数异常: 不支持的驱动程序 [odbc]

我已经安装了PDO ODBC,我还在雄辩之外测试了PDO odbc连接。使用 ODBC 的原因是,因为我使用的是 PHP7,而目前没有 SQL Server 的 PDO 扩展。

谁能帮我解决这个问题?

我会下载FreeTDS并只使用常规的sqlsrvr驱动程序,它就像一个魅力(如果你在Unix env上),有很多关于如何配置它等的帖子,只是查找它。

PHP7 默认禁用了一些模块,这些模块以前在 PHP5 中启用。

运行php -m很可能不显示所需的模块。

不过,这是一个简单的修复方法,因为扩展应该已经存在于 PHP7 附带的'ext'文件夹中。您只需要修改php.ini文件以包含以下行:

extension=php_pdo_odbc.dll
extension=php_odbc.dll

然后从命令提示符或终端再次使用 php -m 进行测试,以查看模块现在是否列出。