2011-10-25 94 views
2

我有一个连接到SQL Server的php脚本,本地工作正常,因为我能够编辑php.ini以包含php_mssql.dll的扩展名。使用生产服务器,如果我不必重新启动服务器,那很好,那么在脚本的开始处是否有添加php_mssql.dll的方法?如果没有,我如何检查服务器(linux)以查看php_mssql.dll文件是否可用,如果我将它添加到php.ini的动态扩展部分中?SQL Server与PHP连接

回答

0

要测试MSSQL扩展被加载,使用extension_loaded()

if (extension_loaded("php_mssql")) {} 

需要注意的是在Linux上,它不会是一个.dll,而是一个.so共享对象库,并连接MSSQL可能需要启用Linux服务器上的FreeTDS库。

1

可以使用dl()功能在运行时动态加载插件:

<?php 

if (!extension_loaded('php_mssql')) { 
    dl('php_mssql.dll'); 
} 

注意,这在PHP 5.3 SAPI运行(同web服务器)模式时被禁用。

+0

我试过这个,当我到达我的mssql_connect()时发生错误。有没有办法检查以确保需要的文件可以使用?如果不是,我怎么能得到它? – bmbaeb

+0

'if(!dl('php_mssql.dll')){die(“Failed to load mssql extension。”); }' –

+0

它正在返回无法加载mssql扩展。 – bmbaeb