powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Возникает ошибка при настройке PHP 7 + IIS + MS SQL 2014
3 сообщений из 3, страница 1 из 1
Возникает ошибка при настройке PHP 7 + IIS + MS SQL 2014
    #39453175
mr.dfox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Возникла необходимость запустить PHP приложение на IIS, приложение должно работать базами на MS SQL 2014.
Разворачиваю на своей тестовой машине:
Windows 10
MS SQL 2014

Поставил настроил PHP 7 - все работает.

Подключаю скаченные библиотеки(Библиотеки скачал с сайта микрософта SQLSRV40) MS SQL
php.ini вот так: extension=php_sqlsrv_7_nts_x64.dll

Пробую открыть тестовую страничку и получаю сообщение:

Код: plaintext
PHP Startup: Unable to load dynamic library 'C:\inetpub\php\ext\php_sqlsrv_7_nts_x64.dll'


При этом другие библиотеки подключаются без проблем - пути прописаны верно.

Подскажите что я делаю не так?
...
Рейтинг: 0 / 0
Возникает ошибка при настройке PHP 7 + IIS + MS SQL 2014
    #39453277
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.dfox,

а разрядность 32/64 везде совпадает? Попробуйте ради эксперимента поставить сам PHP=32 бита и соответственно библиотеки=32 бита (у меня на рабочей машине с SQL2014 крутится именно так)
Здесь инструкция для PHP 5.6, но для 7, уверен, аналогично1. В php.ini найти date.timezone и установить date.timezone = "Europe/Moscow"
Также можно в начало каждого скрипта .php написать date_default_timezone_set('Europe/Moscow');

2. Установить "msodbcsql.msi" (это драйвер Microsoft ODBC 11 для SQL Server)

3. В каталог php\ext скопировать файлы (_nts в конце файла означает "Non Thread Safe".
Если сборка PHP = Thread Safe, то соответственно нужны файлы, которые оканчиваются на _ts.)
php_pdo_sqlsrv_56_ts.dll
php_sqlsrv_56_ts.dll
или
php_pdo_sqlsrv_56_nts.dll
php_sqlsrv_56_nts.dll

4. В php.ini дописать (путь c:\inetpub\php56\ext\ поменять на свой)
extension_dir = "c:\inetpub\php56\ext\"
extension=php_pdo_sqlsrv_56_nts.dll
extension=php_sqlsrv_56_nts.dll
sqlsrv.ClientBufferMaxKBSize=50240
_nts в конце файла означает "Non Thread Safe". Если сборка PHP = Thread Safe, то соответственно нужны файлы, которые оканчиваются на _ts.

5. Проверяем скриптом
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<?php
function FormatErrors($errors) {
  foreach ($errors as &$error) {echo '<p style="font:13px arial;">' . iconv("windows-1251", "utf-8//IGNORE", "Message: " . $error['message']) . '</p>';}
}

$serverName = ".\sql2014"; //если хотим через другой порт, отличный от 1433, то порт дописываем: $serverName = "serverName\sqlexpress, 1542";
$connectionInfo = array("Database"=>"testdb", "UID"=>"sa", "PWD"=>"12345");
$conn = sqlsrv_connect($serverName, $connectionInfo);

if($conn) {
  echo '<font color="#008200">Connection established</font><br>';
} else {
  die(FormatErrors(sqlsrv_errors()));
}

sqlsrv_close($conn);
?>


...
Рейтинг: 0 / 0
Возникает ошибка при настройке PHP 7 + IIS + MS SQL 2014
    #39453541
mr.dfox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
user89,

PHP 7 почему то так и не заработал, а вот на 32 разрядном PHP5.6 все заработало как нужно )
Пока разверну так (в принципе 5.6 сгодится) - дальше будет видно.

Благодарю за совет!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Возникает ошибка при настройке PHP 7 + IIS + MS SQL 2014
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]