Решение проблемы «Call to undefined function mssql_connect()» в PHP
5 августа 2011
Ранее мы уже рассматривали эту ошибку в статье «установка сайта для ПТС», но что делать, если проблема не решилась с помощью библиотек php_mssql.dll и ntwdblib.dll?
В решении этой проблемы нам поможет библиотека php_dblib (FreeTDS), которую можно загрузить по ссылке — . В архиве содержится 2 папки: PHP 5.2 и PHP 5.3, внутри которых есть еще две: TS и NTS.
Перед установкой нам необходимо знать, какая версия и тип PHP установлен на нашем вебсервере. Для этого создаете файл phpinfo.php в www директории вебсервера со следующим кодом:
Открываем в браузере эту страницу и извлекаем интересующие нас пункты. У меня следующая конфигурация:
Отсюда стает известным, какую библиотеку мне необходимо подключить. Копируем php_dblib.dll из «PHP 5.3\TS» в php\ext и в конфигурационном файле php.ini перед строкой:
Добавляем:
Сохраняем изменения и перезапускаем Apache. Проверить работу библиотеки можно простым кодом:
Если все сделали правильно, то появится сообщение «Библиотека php_dblib.dll установлена правильно!» если нет, — начинайте сначала. Спасибо за внимание.
В решении этой проблемы нам поможет библиотека php_dblib (FreeTDS), которую можно загрузить по ссылке — . В архиве содержится 2 папки: PHP 5.2 и PHP 5.3, внутри которых есть еще две: TS и NTS.
- PHP 5.2 и PHP 5.3 — версия установленного интерпретатора
- TS и NTS — тип, Thread Safe и соответственно Non Thread Safe
Перед установкой нам необходимо знать, какая версия и тип PHP установлен на нашем вебсервере. Для этого создаете файл phpinfo.php в www директории вебсервера со следующим кодом:
<?php
/**
* Выведем только интересующую нас информацию
* Для этого передаем аргумент INFO_GENERAL
*/
phpinfo(INFO_GENERAL);
/**
* Выведем только интересующую нас информацию
* Для этого передаем аргумент INFO_GENERAL
*/
phpinfo(INFO_GENERAL);
Открываем в браузере эту страницу и извлекаем интересующие нас пункты. У меня следующая конфигурация:
- PHP Version 5.3.6
- Thread Safety enabled
Отсюда стает известным, какую библиотеку мне необходимо подключить. Копируем php_dblib.dll из «PHP 5.3\TS» в php\ext и в конфигурационном файле php.ini перед строкой:
extension=php_mysql.dll
Добавляем:
extension=php_dblib.dll
Сохраняем изменения и перезапускаем Apache. Проверить работу библиотеки можно простым кодом:
<?php
if (function_exists('mssql_connect'))
{
echo 'Библиотека php_dblib.dll установлена правильно!';
}
if (function_exists('mssql_connect'))
{
echo 'Библиотека php_dblib.dll установлена правильно!';
}
Если все сделали правильно, то появится сообщение «Библиотека php_dblib.dll установлена правильно!» если нет, — начинайте сначала. Спасибо за внимание.