我在我的Mac上安装了FreeTDS,但我在使用mssql_connect
时出现了一些问题。使用mssql方法(Mac OS X上的FreeTDS,PHP和Apache)
首先,当我运行tsql -C时,我看到freetds.conf目录被列为/opt/local/etc/freetds
。我在这个目录下有一个freetds.conf文件。
接下来,如果我连这样的:
$connect = mssql_connect('IP_ADDRESS', 'username', 'password');
则一切正常。也就是说,我可以从mssql_select_db()
中选择哪个数据库检索,更新或插入数据。
如果我尝试连接这样的:
$connect = mssql_connect('DSN_NAME', 'username', 'password');
其中DSN_NAME
我freetds.conf文件中指定然后我得到它告诉我,PHP没有正确看到了路径错误,unable to connect to server: DSN_NAME
数据源相匹配到我的freetds.conf文件。
但是,如果我的电话之前,我补充一下:
putenv("FREETDSCONF=/opt/local/etc/freetds/freetds.conf");
则一切正常。这告诉我,我的freetds.conf文件格式正确。
我已经遍寻搜索如何找到PHP 认为的路径 freetds.conf文件在,但我找不到。
最后,有一些原因我不想直接在我的连接中使用IP地址,以及为什么我不希望被迫使用putenv()
方法来指定目录。
任何想法?
谢谢。
我修复了这个问题。我会在下面发表一个答案。 – tptcat 2012-08-08 03:22:25