Я работаю под управлением Windows 7 (32-разрядная версия) и установил Apache 2.2 и PHP 5.3.1, безопасный для потоков. Я установил их отдельно, так как ранее я пробовал комплект WAMP, и он мне не понравился, так как мне это показалось проблематичным. Компоненты apache и PHP работают нормально. У меня порт apache установлен на 7777 и когда я захожу на URL HTTP: // локальный: 7777 / phpinfo.php Появится информация PHP. Также я могу создать базовый PHP Hello World, и это можно просмотреть в браузере. Мне нужно подключиться к экземпляру SQL Server 2005, чтобы изучить PHP в проекте. Я скачал SQLSRV30.EXE, извлек файлы и поместил файлы DLL php_pdo_sqlsrv_53_ts.dll и php_sqlsrv_53_ts.dll в папку C: \ PHP \ ext, а затем поместил следующие записи в файл php.ini.
extension=php_pdo_sqlsrv_53_ts.dll
extension=php_sqlsrv_53_ts.dll
Перезапустил Apache и в списке phpinfo он не содержит никаких атрибутов SQL Server. И когда я пытаюсь запустить приведенный ниже пример, браузер сообщает: «Неустранимая ошибка: вызов неопределенной функции sqlsrv_connect ()». Я нашел несколько примеров на stackoverflow, но они касаются использования Wamp. Что я здесь делаю не так, пожалуйста?
Обновление: я фактически установил NetBeans для PHP и создал новый проект с таким же кодом, приведенным ниже, на странице index.php, и когда я его запускаю, ошибка та же
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Check SQL Server Connection</title>
</head>
<body>
<?php
$serverName = "IT90334\SQLEXPRESS";
$connectionInfo = array('Database' => 'AdventureWorks');
$conn = sqlsrv_connect($serverName, $connectionInfo);
if ($conn) {
echo "Connection Established.<br />";
} else {
echo "Something went wrong while connecting to MSSQL.<br />";
die(print_r(sqlsrv_errors(), true));
}
?>
</body>
</html>
На другом форуме нашел что-то, что намекало на то, что драйвер Microsoft SQLSRV30.exe слишком известен для моей установки PHP. Я использую Apache 2.2 и PHP 5.3.1 и обнаружил, что драйвер SQLSVR20.exe также совместим с PHP 5.3.1, поэтому загрузите SQLSVR20 и замените файлы php_pdo_sqlsrv_53_ts.dll и php_sqlsrv_53_ts.dll на php_pdo_sqlsrv_53_ts_vc6.dll и php_s.dll Настройка PHP была примерно на vc6), затем изменили параметры php.ini. После перезапуска Apache процесс получил дальнейшее развитие, но он сказал, что мне нужен собственный клиент SQL Server 2008 R2, который я нашел и установил, а затем SQLSVR был указан в URL-адресе PHPInfo, и соединение заработало.
Других решений пока нет …