Использование mssql-методов (FreeTDS, PHP и Apache для Mac OS X)

Я установил FreeTDS на свой Mac, но у меня есть некоторые проблемы, связанные с использованием mssql_connect .

Во-первых, когда я запускаю tsql -CI, посмотрите, что каталог freetds.conf указан как /opt/local/etc/freetds . У меня есть файл freetds.conf внутри этого каталога.

Затем, если я подключу так:

 $connect = mssql_connect('IP_ADDRESS', 'username', 'password'); 

то все работает так, как ожидалось. То есть, я могу извлекать, обновлять, вставлять данные из / в любой выбранный mssql_select_db() DB с помощью mssql_select_db() .

Если я попытаюсь подключиться следующим образом:

 $connect = mssql_connect('DSN_NAME', 'username', 'password'); 

где DSN_NAME соответствует источнику данных, указанному в моем файле freetds.conf, тогда я получаю сообщение об ошибке и unable to connect to server: DSN_NAME могу unable to connect to server: DSN_NAME который говорит мне, что PHP неправильно видит путь к моему файлу freetds.conf.

Однако, если до моего звонка я добавляю:

 putenv("FREETDSCONF=/opt/local/etc/freetds/freetds.conf"); 

то все работает так, как ожидалось. Это говорит мне, что мой файл freetds.conf отформатирован правильно.

Я искал все о том, как найти путь, который PHP считает файлом freetds.conf, но я не могу его найти.

Наконец, есть некоторые причины, по которым я не хочу использовать IP-адрес непосредственно в моем соединении, а также почему я не хочу, чтобы принудительно использовать метод putenv() для указания каталога.

Есть идеи?

Спасибо.