使用odbc雄辩的外部laravel PHP7

I am using eloquent outside laravel. I have my own PHP application. This is what i am using https://github.com/illuminate/database

My config is as following

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

$capsule->addConnection($settings3,'teleappframework');

After executing this code I am getting the following error

Fatal error: Uncaught InvalidArgumentException: Unsupported driver [odbc]

I have PDO ODBC installed, i have also tested pdo odbc connection outside of eloquent. The reason for using ODBC is, because i am using PHP7 and currently there is no PDO extension for SQL Server.

Can anyone help me on this?

douhui5953
douhui5953 我该怎么做?我使用的代码在OP中。我不知道那是不是正确的方法。如果我查看Illuminate数据库的连接工厂,那么我没有看到它的ODBC。github.com/illuminate/database/blob/master/Connectors/...
4 年多之前 回复
dtnd30892
dtnd30892 你的laravel内部配置了“odbc”吗?它内部工作正常吗?
4 年多之前 回复
dongxiao3694
dongxiao3694 版本5,我正在使用这个库github.com/illuminate/database我只使用laravel的ORM工具
4 年多之前 回复
dongma1666
dongma1666 你正在使用哪种版本的laravel?
4 年多之前 回复

2个回答



我会下载FreeTDS并使用常规的sqlsrvr驱动程序,它就像一个魅力(如果你在unix环境中)有一个 关于如何配置它的很多帖子等等只是查找它。</ p>
</ div>

展开原文

原文

i would download FreeTDS and just use the regular sqlsrvr driver it works like a charm (if you are on a unix env) there is a lot of posts on how to configure it etc just look it up.

douzhenqun1271
douzhenqun1271 它确实使用pdo,我道歉我没注意php7部分是的,没有pdo扩展为php7。 我遇到了这个问题,最终又回到了PHP 5.6 @Wishaal
4 年多之前 回复
dqwh1203
dqwh1203 常规的sql server驱动程序不能正常使用,它使用PDO?
4 年多之前 回复



PHP7 </ kbd>默认情况下禁用了一些先前在 PHP5 </ kbd>中启用的模块 。 </ p>

最有可能运行 php -m </ code>并不会显示您需要的模块。</ p>

这是一个简单的解决方案,因为 扩展应该已经存在于 PHP7 </ kbd>附带的 \ _ ext \ </ code>文件夹中。 您只需修改 php.ini </ code>文件即可包含以下行:</ p>

  extension = php_pdo_odbc.dll 
extension = php_odbc.dll
< / code> </ pre>

然后从命令提示符或终端测试再次使用 php -m </ code>查看该模块现在已列出。</ p>
< / DIV>

展开原文

原文

PHP7 has a few modules disabled by default that were previously enabled in PHP5.

Most likely running php -m does not show the modules you need.

It's an easy fix though since the extension should already exist in the \ext\ folder that came with PHP7. You just need to modify your php.ini file to include the line:

extension=php_pdo_odbc.dll
extension=php_odbc.dll

Then from a command prompt or terminal test again using php -m to see that the module is now listed.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐