现在是 5.6 经历了重重困难,折腾了 The SQL Server Driver for PHP 和 Microsoft SQL Server 2008 R2 Native Client 终于成功后却发现已经不支持 MSSQL 2000 版本了。
我使用的是 Laravel(5.1~5.3),不知道该如何解决了,大家有好的办法解决吗?
1
FifiLyu 2016-09-02 16:20:58 +08:00
用 odbc ,你找找资料看看吧。
几年前用 odbc+php5.2.17 连接了 2000/2005/2008 ,做测试。 |
5
zi 2016-09-02 16:58:14 +08:00 6
php5.6 连不上,你放弃吧。。
因为。。 php5.6 需要 sqlsrv 驱动, sqlsrv 3.2 支持 php5.6 ,但是 sqlsrv3.2 需要 ODBC driver 11.0 ,然而 ODBC driver 11.0 不支持 sql server 2000 。。。 ODBC driver 8 才支持 sql server 2000 ,然而只有 sqlsrv 2.0 才能连接 ODBC driver 8 ,然后 sqlsrv 2.0 只支持 php5.2 、 php5.3 。。 你说你认了,数据为大,降级 PHP 还不行嘛。。然而 apache 只支持 sqlsrv 3.0 以上。。只有 IIS 才兼容 sqlsrv 2.0 。。其他 web 服务器未知。。 别问我怎么知道。。 昨天才被这个折磨了一天。。 |
8
kslr OP |
11
mcfog 2016-09-02 17:19:16 +08:00 2
中转啊,一个古董 php
``` <?php echo var_export(mssql_fetch_all(mssql_query($_POST['query']));); ``` 跑在本地不要开外网 然后你的现代 php 跑 laravel 走古董 php 中转 |
14
kslr OP @lslqtz 我还是更希望低成本解决,因为这件事情可以放弃掉,为此投入精力风险都太大了。
楼上的中转就是个好办法,虽然处理上有点麻烦,等我测试下吧 |
15
qile1 2016-09-02 20:58:13 +08:00 via Android
你把数据库备份出来,然后直接 sql2008 r2
或者 sql2012 还原试试原来程序应该可以用 |
16
hainuo 2016-09-02 21:07:10 +08:00 1
楼主有两个思路 一个是降级 php 到 5.2 另一个是升级 mssql 到 2008 及以上
https://blog.hainuo.info/blog/php-ms-sqlserver2008-native-client-38.html 这是我给政府部门水文局处理 mssql 升级后的一些记录,希望能够帮到你 |
17
mahone3297 2016-09-02 21:31:58 +08:00
我最近升级 php7 ,也要连 mssql
我看到 php7 的 migration 手册上写 https://secure.php.net/manual/en/intro.mssql.php 我用的是库 https://packagist.org/packages/realestateconz/mssql-bundle 不知道是否能成功,先试试看再说。 |
18
mahone3297 2016-09-02 21:32:43 +08:00
@mcfog 这个思路确实不错。真不行,我也只能这样。
|