2011-02-03 4 views
1

Я пытаюсь подключиться к локальному SQL Server 2008 R2 (также попробовал его с 2005 года, точно так же) с PHP. Я использую PHP 5.1, который все еще поддерживает php_mssql и mssql_connect().Не удается подключиться к SQL Server с помощью PHP

по какой-то причине PHP просто не найдет мой сервер, я могу подключиться через ODBC безупречно, это нормально, но я хотел бы напрямую подключиться к SQL Server.

Я подключил PHP к SQL Server миллион раз на разных серверах, кажется, это единственный вопрос, который дает мне проблему.

Это мой маленький тестовый код, чтобы попытаться установить соединение.

//define connection garbage 
$db['hostname'] = "USER90C6\SQLEXPRESS"; 
$db['username'] = "user"; 
$db['password'] = "password"; 
$db['database'] = "kal_auth"; 

//connection string 
$conn = mssql_connect($db['hostname'], $db['username'], $db['password']); 


//does it work? :o 
if($conn) 
{ 
    echo "works"; 
} 
else 
{ 
    echo "fails"; 
} 

Ошибка этот код производит:

Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server:  USER90C6\SQLEXPRESS in C:\xampp\htdocs\test.php on line 9 
fails 

Есть ли что-то серьезно не так с моей установки? или я что-то упускаю.

+0

Является ли ваше расширение для mssql включенным? – Karthik

+1

Является ли SQL-сервер настроен для разрешения TCP-соединений? По умолчанию это не так. –

+0

@Marc B он сказал, что «локальный сервер» по умолчанию R2 предотвращает удаленные TCP-соединения, хотя это может быть проблемой. – RobertPitt

ответ

0
  • Включен ли протокол TCP/IP в настройках конфигурации сервера?
  • Является ли брандмауэр блокирующим любые порты, которые вы могли бы использовать?
  • Обновлены ли ваши MDAC (компоненты доступа к данным Microsoft)?
  • очередь на mssql.secure_connection в php.ini
0

Я думаю, что вы не пропустите ничего .. Ваша строка соединения, похоже, прав (вы получаете «Не удается подключиться» ошибка ..). На мой взгляд, проблема может быть несовместимой с версией или ошибкой привилегий пользователя. Прежде всего: посмотрите на драйвер DLL, который вы используете на PHP, и проверьте его совместимость с вами в версии MSSQL. Возможно, может быть хорошей идеей новая установка PHP, с последней стабильной версией, если это возможно. Посмотрите на: http://www.php.net/manual/en/mssql.requirements.php

Удачи.

Смежные вопросы