所以在我的测试机上,我用Apache安装了PHP,并且我有PHP SQL驱动程序(不是Microsoft SQL驱动程序)。所以,我使用mssql_connect()和这样的命令来处理数据库。
当我转移到另一台服务器时,它有Microsoft PHP SQL Driver。现在,每当我执行mssql_connect()和其他mssql_php命令时,它都会崩溃并向我显示错误的PHP_via_FastCGI错误。
请问您如何解决这个问题?我是否需要将代码更改为其他内容?如果是这种情况,我有数百个文件,我是否需要在每个文件中进行更改?
感谢。
答案 0 :(得分:1)
这两个驱动程序没有任何共同点(除了允许与SQL Server交互)。它们具有不同的功能名称和功能。您的程序需要PHP SQL驱动程序,除非您完全重写它,否则不会与Microsoft运行。
(无论如何,Microsoft库非常好。)
答案 1 :(得分:1)
您需要将应用程序中的所有数据库调用映射(更改)到Microsoft驱动程序的等效函数或创建抽象层。您可以使用抽象层构建自己的数据库函数,如:myConnect(...)
myEXEC(...)
并且在其中你有像
这样的代码if ($givenDriver=='M') {
code using microsoft DB function
} elseif ($givenDriver=='P') {
code using the PHP DB function
} else {
error unknown connection type
}
然后代码中的每个地方都会从实际的PHP驱动程序命令转换为抽象层命令。然后,代码可以通过更改$givenDriver
的值来轻松切换使用一个驱动程序。