Elettracompany.com

Компьютерный справочник
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Php 7 mssql

SQL Server — подключение PHP 7,2 к MS SQL с помощью sqlsrv

Я пытаюсь установить соединение с MS SQL и запустить его через PHP на моей машине. Я использую IIS, у меня установлен PHP 7.2 и MS SQL Express 2017. У меня запущена базовая веб-страница, но когда я нажимаю, чтобы открыть страницу PHP, соединение не работает.

Когда я запускаю это, я получаю «Привет измерения на полпути», который предполагает, что страница работает, пока не достигнет линии соединения.
Я не уверен, какое расширение sqlsrv использовать.
Я посмотрел вокруг и вижу версии для 7 и 7.1, но не для 7.2.

Я добавил в extension=php_sqlsrv_71_nts_x86.dll в конец php.ini (и файл существует в C:Program Files (x86)PHPv7.2ext ).

Любые указатели будут с благодарностью приняты. Я потратил пару дней на это и не думаю, что доберусь никуда.
Спасибо

Решение

Я столкнулся с той же проблемой. Позже я обнаружил, что использую более старую версию файлов Microsoft SQL для PHP.

Для PHP 7.2 вы должны использовать 7.2 версию MS PHP SQL

Эта версия не доступна через веб-сайт Microsoft. Я нашел это здесь https://github.com/Microsoft/msphpsql/releases

Как только я использовал эти файлы, все работает отлично. Я использовал 64-битные файлы.

Затем вам нужно добавить эти строки в файл php.ini

Другие решения

pdo_sqlsrv: 5.3.0 + 11108

1. Загрузите правильную версию sqlsrv и sqlsrv pdo

2. поместите его в папку XAMPP PHP ext

3. после этого напишите строку в php.ini> настройки модуля

4.Let сделать тест для MSSQL все еще есть сообщение об ошибке для рекомендовать вам скачать ODBC Driver для SQL

(у меня утилиты командной строки 11 для SQL Server® X86)

6. Снова запустите test.php, все работает!

Что вам нужно определить

  • Какая версия PHP
  • Используемая среда выполнения Поток Сейф или же Без резьбы
  • Используемая среда выполнения 64 бита или же 32 бита

Тогда вы должны посмотреть на странице требований Вот

Проверьте версию PHP, которую вы используете, поэтому предпочтите ваш вопрос, это значит PHP 7.2 который SQL Server расширение версии 5.3 лучше всего подходит.

Затем перейдите к страница загрузки , выберите ссылку, которая определена с версией, которую вы предпочитаете. (в этом вопросе 5,3)

Файл, который вы скачали, будет самораспаковывающимся EXE файл, затем распакуйте в место, где вы хотите.

вы увидите список dll файлы, подобные этим …

Какой смысл в названии этих файлов?

Как я уже говорил ранее, что вам нужно определить, чтобы выбрать правильный файл расширения. Расширению SQL Server нужны 2 файла с именем, начинающимися с php_pdo_sqlsrv_xxx а также php_sqlsrv_xxx ,

Следующий номер значит для вашего PHP версия, в этом случае PHP 7.2 , так что вам нужно выбрать имя файла имеет _72_ в своем.

Следующее число означает ваше время выполнения Поток Сейф или же Без резьбы, какой конкретно в имени файла _ts_ (Thread Safe) или _nts_ (Без резьбы).

Следующее число означает ваше время выполнения 32 бита или же 64 бита, какой конкретно в имени файла _x86 (32 бита) или _x64 (64 бита)

Итак, проверьте вашу PHP среду phpinfo() или выполните команду php —version на вашей консоли, а затем обратите внимание на сообщение, для моего компьютера это выглядит так …

Судя по этой информации, я получил PHP 7.2 , ZTS значит Поток Сейф (Без резьбы будет NTS ) и x86 является 32 бита.

Итак, что я должен выбрать это расширение, которые являются php_sqlsrv_72_ts_x86.dll а также php_pdo_sqlsrv_72_ts_x86.dll

Финал: скопируйте их на свой /php/ext папка и редактировать php.ini с этими двумя именами файлов.

Затем сохранить php.ini файл, а затем перезагрузите сервер.

Проверьте свой результат, посмотрев на phpinfo.php который ДОЛЖЕН иметь pdo_sqlsrv на странице. Это означает, что ваша среда может работать с PHP и подключаться к SQL Server сейчас.

Я наконец нашел решение. Все, что вам нужно сделать, это использовать эти расширения в php.ini файл.

php_sqlsrv_72_ts_x86.dll

php_pdo_sqlsrv_72_ts_x86.dll

Как подключиться к Microsoft SQL Server через PHP

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

Мы будем рассматривать SQL Server 2014 . На ранних версиях этот процесс может немного отличаться.

Давайте определим, что мы уже имеет установленный пакет SQL Server на каком то VPS или сервере с ОС Windows (Например, заказанного у ihc.ru), либо установленный на вашем локальном компьютере для тестов.

Так же соответственно на сервере стоит PHP версии 5.2+ или у вас установлен локальный сервер, вроде OpenServer .

Теперь нужно скачать и установить PHP driver для SQL Server — вот ссылка на официальный сайт.

На данный момент там есть четыре версии драйвера 2.0, 3.0, 3.1, 3.2. Далее приведена таблица с совместимостью с PHP :

Так же приведем таблицу поддержки разных версий MS SQL Server :

Windows Server 2008 R2 SP1

Windows Server 2008 SP2

Windows Server 2012

Windows Server 2012 R2

Windows Server 2008 R2 SP1

Windows Server 2008 SP2

Windows Server 2003 Service Pack 1

Windows Server 2008 R2

Windows Server 2008

Мы для проверки выбрали драйвер версии 3.2 для сервера 2014 года. После скачивания распакуйте полученные файлы в какую-нибудь временную папку. Получите примерно такой список файлов:

  • PHP Drivers License Terms.rtf
  • php_pdo_sqlsrv_54_nts.dll
  • php_pdo_sqlsrv_54_ts.dll
  • php_pdo_sqlsrv_55_nts.dll
  • php_pdo_sqlsrv_55_ts.dll
  • php_pdo_sqlsrv_56_nts.dll
  • php_pdo_sqlsrv_56_ts.dll
  • php_sqlsrv_54_nts.dll
  • php_sqlsrv_54_ts.dll
  • php_sqlsrv_55_nts.dll
  • php_sqlsrv_55_ts.dll
  • php_sqlsrv_56_nts.dll
  • php_sqlsrv_56_ts.dll
  • release.txt
  • SQLSRV_Readme.htm
  • SQLSRV_ThirdPartyNotices.rtf

Нас здесь интересуют только библиотеки с форматом dll . Библиотеки с приставкой php_pdo отметаем сразу. Остается список из файлов:

  • php_sqlsrv_54_nts.dll
  • php_sqlsrv_54_ts.dll
  • php_sqlsrv_55_nts.dll
  • php_sqlsrv_55_ts.dll
  • php_sqlsrv_56_nts.dll
  • php_sqlsrv_ 56_ts.dll

Здесь после приставки php_sqlsrv_ идут две цифры, это версия PHP , и следующие символы определяют Thread Safety , режим которого можно посмотреть в информации о вашем PHP , смотрится в phpinfo() . Если в графе стоит enabled , то выбираем версию с приставкой _ts и иначе — _nts .

Читать еще:  Ошибка нет доступного микрофона

После того как вы определились с файлом драйвера, который нужен вам, переходим к настройке php.ini . В первую очередь находим там строчку extension_dir = и удостоверяемся, что она не закомментирована, она указывает путь к расширениям, именно по этому пути открываем соответствующую директорию и закидываем туда библиотеку драйвера, в нашем случае это был php_sqlsrv_54_ts.dll , у вас может быть другая версия драйвера.

Теперь добавляем в php.ini строку с подключением драйвера extension=php_sqlsrv_54_ts.dll . Перезапускаем сервер и проверяем phpinfo() . Если всё произошло успешно вы должны обнаружить блок sqlsrv :

Теперь проверяем соединение с БД при помощи следующего шаблона:

Если получаем «Connection established.» — радуемся. Если «Connection could not be established.» и гору сообщений об ошибках, то перечитываем статью, после этого уже пишем в комментарии.

Мы пробовали всё на локальном компьютере — сервер OpenServer , версия PHP — 5.4.44, MS SQL Server 2014, имя БД — StudyBD .

Напоследок так же ссылка на на описание API драйвера.

How to install Microsoft’s SQL Server Driver for PHP

In this article I’ll show you how to install the Microsoft SQL Server Driver for PHP 7+. This makes the use of an SQL Server database back-end for your PHP website easy. If you want to communicatie with SQL Server using PHP you need to rely on some additional software and PHP extensions. This post walks you through the steps necessary to install the SQL Server driver and SQLSRV extension for PHP 7+, on Windows Server IIS of course.

How to install Microsoft’s SQL Server Driver for PHP 7+

To let PHP (PHP 7.0, PHP 7.1, PHP 7.2) communicate with an SQL Server database you need additional software: ODBC drivers, and the PHP SQLSRV extension. You have to use the SQLSRV API functions to connect to an MS SQL Server database from PHP. Or PDO of course…

First you need to download all of this. Please note some version numbers might be outdated.

Required software to install PHP 7 and SQL Server SQLSRV PHP extension

You need the following software, go ahead and download:

How to install Microsoft’s SQL Server Driver for PHPClick To Tweet

  • Microsoft® ODBC Driver 11 , 13 , 13.1 , 17 for SQL Server® – Windows: https://www.microsoft.com/en-us/download/details.aspx?id=56567. The Microsoft ODBC Driver for SQL Server provides native connectivity from Windows to Microsoft SQL Server and Windows Azure SQL Database.
  • Microsoft Drivers for PHP 7 for SQL Server: https://github.com/Azure/msphpsql/tree/PHP-7.0. The Microsoft Drivers for PHP for SQL Server are PHP extensions that allow for the reading and writing of SQL Server data from within PHP scripts.
  • Check out the Microsoft Drivers for PHP for SQL Server System Requirements.

Note: on Windows, download the DLLs from SQLSRV or PDO_SQLSRV PECL repository (source). To download and install the most up-to-date ODBC driver version, read Microsoft Docs Microsoft ODBC Driver for SQL Server on Windows and Download ODBC Driver for SQL Server.

SQL Server Native Client (SNAC) 2012

Since the release of ODBC Driver 11 for SQL Server you no longer have to install SQL Server Native Client – or SNAC – 2012.

Microsoft is adopting ODBC as the de-facto standard for native access to SQL Server and Windows Azure SQL Database. We have provided longstanding support for ODBC on Windows and, in the SQL Server 2012 timeframe, released support for ODBC on Linux (Red Hat Enterprise Linux 5 and 6, and SUSE Enterprise Linux). Microsoft is aligning and renaming the previous ODBC drivers as follows:

This change will result in our ODBC drivers for Windows and Linux being better aligned going forward. We hope that this change makes it easier for you to find the right driver for your needs and makes it easier to stay informed of new releases. Today’s availability marks the first combined release for your use.

There are no more updates to the ODBC driver in SQL Server Native Client. The successor to the ODBC driver in SQL Server Native Client, called the Microsoft ODBC Driver 11 for SQL Server on Windows, is installed with SQL Server 2014. For more information about the Microsoft ODBC Driver 11 for SQL Server on Windows, see Microsoft ODBC Driver 11 for SQL Server – Windows

Visual Studio C++ 2015 for PHP 7 on Windows Server IIS

To install PHP 7, you need to have Visual Studio C++ 2015, or VC14, installed too. Download and install Visual C++ Redistributable for Visual Studio 2015 if you haven’t done so.

After you’ve downloaded and extracted the software, you need to install it all.

Install ODBC Driver 11 , 13 , 13.1 , 17 for SQL Server
To install the ODBC Driver, in your cmd command or PowerShell prompt, simply type:

Install Microsoft Drivers for PHP 7 for SQL Server
This isn’t really an installation, just download the msphpsql-PHP-7.0 zipfile from Github and unzip it. Within the archive you’ll find the folder msphpsql-PHP-7.0/binaries/ / and two .dll files: php_sqlsrv_7_nts.dll and php_sqlsrv_7_ts.dll .

Pick the one you need for your IIS hosting environment, and copy the file to your PHP ext directory:

Читать еще:  Возникла ошибка сертификата

To enable the SQLSRV extension in PHP, add to your php.ini file:

Install Visual Studio C++ 2015
If you haven’t installed Visual C++ Redistributable for Visual Studio 2015 yet, install both .msi files. PowerShell example:

Once everything is installed, the SQLSRV extension for PHP to SQL Server communication is available to your PHP scripts. We need to verify everything is in working condition.

Important: various software requires various Visual Studio Runtime versions (Microsoft Visual C++ Redistributable). I normally install them all: Microsoft Visual C++ 2010 (Service Pack 1) Redistributable, Visual C++ Redistributable for Visual Studio 2012 Update 4, Visual C++ Redistributable Packages for Visual Studio 2013, Microsoft Visual C++ 2015 Redistributable Update 3 and Microsoft Visual C++ Redistributable for Visual Studio 2017.

Test SQLSRV extension and ODBC Driver 11/13/13.1/17 for SQL Server with PHP

The best way (in my opinion) for you to test whether everything in PHP works correctly is on the command line. Really, executing PHP on the prompt is easier than browsing to your phpinfo() script, but of course, you’re free to do so – verify the extension is loaded.

Just run php-cgi.exe with some parameters, like -v to print out the version:

If something is wrong in your PHP configuration, an application crash notification pops up.

Got WinCache installed and available through a second php.ini file and FastCgi handler (you followed my how to install PHP and Wincache on IIS article 😉 ), test that one too:

SQLSRV for PHP 7 test script: Connect to an SQL Server with PHP
Verify everything is working correctly with a test script. I always use a script like the one below to verify the PHP connection with my SQL Server database, and that it’s all working:

If everything went OK, all available SQL Server tables in your SQL database are printed.

Подключение к базе данных в PHP через mysql, pdo и mysqli

Прежде чем подключиться к MySQL серверу необходимо определиться с PHP расширением, которое будет использоваться для работы с базой данных. Под расширением понимается драйвер — посредник между сервером базы и программистом. Он содержит набор функций или объектов, которые упрощают работу программиста. На данный момент выделяют 3 основных расширения.

  • MySQL;
  • MySQLi;
  • PDO.

Все 3 расширения являются стандартным набором для любой хорошей хостинг-площадки. Однако, по умолчанию некоторые могут быть отключены в настройках PHP модулей. Информацию о включенных модулях возвращает функция «phpinfo» с параметром «8».

Доступность модуля можно определить с помощью простой конструкции в коде.

Подключение к MySQL через одноименное расширение

Расширение MySQL появилось первым и долгое время не имело конкурентов. Сейчас считается устаревшим и в серьезных проектах не используется. На это есть ряд причин, основными из которых являются плохая оптимизация и безопасность, отсутствие многопоточности. Несмотря на это, оно ещё долго будет поддерживаться большинством хостингов.

Начиная с PHP версии 5.5 многие функции расширения стали устаревшими, а в PHP 7 и вовсе не поддерживаются.

Рассмотрим пример подключения к базе данных с комментариями.

В качестве запросов используется стандартный SQL. Рассмотрим простые примеры выборки и добавления записей.

В примере производим простую выборку записей из таблицы «books». Результат представлен в качестве ассоциативного массива, поэтому его содержимое можно получить в обычном цикле. Если запрос не возвращает набор данных, то в качестве результата возвращается «false» или «true».

Отличие MySQLi от MySQL

MySQLi пришло на смену MySQL. Буква «i» обозначает улучшенный (Improved). Имеет частичную совместимость со старой версией. Поддерживается всеми версиями PHP. Имеет чуть большую скорость работы и лучшую безопасность. Установлено на 99% хостинговых площадках.

Одной из важных особенностей является наличие объектно-ориентированного интерфейса. Если раньше работы с базой данных осуществлялись при помощи интерфейса функций, то теперь можно использовать оба подхода. Рассмотрим пример подключения к базе данных через MySQLi средствами «ООП».

Так осуществляется простая выборка названий книг из поля «BName» таблицы «books». Вставка и обновление существующих записей так же не отличается сложностью.

В конце запроса осуществляем проверку, удалось ли обновить запись.

Подключение к базе через PDO

PDO — расширение для PHP, которое расшифровывается как PHP Data Objects. Его особенностью является повышенная безопасность и универсальный интерфейс работы с различными базами данных. Другими словами, если с помощью MySQLi можно создавать запросы только для MySQL сервера, то PDO позволяет работать с различными серверами используя один и тот же синтаксис запросов. Это удобно если разработчик заранее не знает под управлением какого сервера будет работать конечный продукт.

У PDO есть свой механизм соединения с базой данных — «DSN» (Data Source Name). Кроме адреса сервера, логина и пароля, он должен принять тип базы данных. Посмотрим пример подключения.

Точно так же осуществляются и другие действия с записями и таблицами. Только меняем SQL запрос и вызываем выполнение методом «exec».

Метод «exec» в отличии от «query» не может получать данные из базы данных. Он возвращает количество записей, которые были затронуты в результате работы SQL запроса.

Подключение php 7.2 к MS SQL с помощью sqlsrv

Я пытаюсь установить соединение с MS SQL и запустить его через PHP на своей машине. У меня работает IIS, установлен PHP 7.2 и MS SQL Express 2017. У меня есть моя основная веб-страница работает, но когда я нажимаю, чтобы открыть страницу PHP, соединение не работает.

Когда я запускаю это, я получаю «Hello dimensions midway», который предполагает, что страница работает до тех пор, пока она не попадет в линию соединения.
Я не уверен, какое расширение sqlsrv использовать.
Я посмотрел вокруг и могу увидеть версии для 7 и 7.1, но не для 7.2.

Читать еще:  Модем сообщил об ошибке

Я добавил в extension=php_sqlsrv_71_nts_x86.dll к нижней части php.ini (и файл существует в C:Program Files (x86)PHPv7.2ext ).

Любые указания будут приняты с благодарностью. Я потратил на это пару дней и не думаю, что у меня что-то получится.
Спасибо

4 Ответов

Я столкнулся с той же проблемой. Позже я обнаружил, что использую более старую версию Microsoft SQL files для PHP.

Для PHP 7.2 вы должны использовать 7.2 версию MS PHP SQL

Эта версия недоступна на веб-сайте корпорации Майкрософт. Я нашел его здесь https://github.com/Microsoft/msphpsql/releases

Как только я использовал эти файлы, все работает нормально. Я использовал 64-битные файлы.

Затем вам нужно добавить эти строки в файл php.ini

То, что вам нужно определить, это

  • Какая версия PHP
  • Используемая среда выполнения является потокобезопасной или не потокобезопасной
  • Используемая среда выполнения имеет 64 или 32 бита

Затем вы должны посмотреть на страницу требований здесь

Проверьте версию PHP, которую вы используете, поэтому предпочтите ваш вопрос, это означает, что PHP 7.2 , который SQL серверное расширение версия 5.3 является наилучшим образом подходит.

Затем перейдите на страницу загрузки, выберите ссылку, которую конкретно с версией вы предпочитаете. (в этом вопросе есть 5.3 )

Загруженный файл будет самораспаковывающимся файлом EXE , а затем извлечен в нужное место.

вы увидите список dll файлов, подобных этим.

Какой смысл заключен в названии этих файлов?

Как я уже говорил ранее, то, что вам нужно определить, чтобы выбрать правильный файл расширения. Расширение сервера SQL требует 2 файлов с именем, начинающимся с php_pdo_sqlsrv_xxx и php_sqlsrv_xxx .

Следующее число означает для вашей версии PHP , в данном случае PHP 7.2 , поэтому вам нужно выбрать имя файла имеет _72_ в своем.

Следующее число означает для вашей среды выполнения потокобезопасный или не потокобезопасный, который специфичен в имени файла _ts_ (потокобезопасный) или _nts_ (не потокобезопасный).

Следующее число означает для вашей среды выполнения 32 бита или 64 бита , которые указаны в имени файла _x86 (32 бита) или _x64 (64 бита)

Поэтому проверьте свою среду PHP на phpinfo() или выполните команду php —version на консоли, а затем обратите внимание на отображаемое сообщение, для моего компьютера оно выглядит следующим образом.

Судя по этой информации, я получил PHP 7.2 , ZTS означает потокобезопасный (не потокобезопасный будет NTS ), а x86 -это 32 бита .

Итак, то, что я должен выбрать, — это расширение, которое является php_sqlsrv_72_ts_x86.dll и php_pdo_sqlsrv_72_ts_x86.dll

Последнее: скопируйте их в папку /php/ext и отредактируйте php.ini с именем этих 2 файлов.

Затем сохраните файл php.ini и перезапустите сервер.

Проверьте свой результат, посмотрев на phpinfo.php , который MUST имеет pdo_sqlsrv на странице. Это означает, что теперь ваша среда может запускать PHP и подключаться к SQL Server .

Я решил эту проблему

1.download правильная версия sqlsrv и sqlsrv pdo

2.put это в папку XAMPPPHPext

3.after, которые записывают строку в параметр модуля php.ini >

4.let’s сделать тест для MSSQL все равно есть ошибка msg ибо рекомендую вам скачать ODBC драйвер для SQL

(у меня есть утилиты командной строки 11 для SQL Server® X86)

6.fire the test.php опять все работает!

Наконец-то я нашел решение. Все, что вам нужно сделать, это использовать эти расширения в файле php.ini .

php_sqlsrv_72_ts_x86.dll

php_pdo_sqlsrv_72_ts_x86.dll

и перезагрузите свой XAMPP.

P.S. «Я использую PHP 7.2.5 «

Похожие вопросы:

Я пытаюсь подключиться к MSSQL в PHP с помощью sqlsrv api. Когда я запускаю phpinfo() , он показывает раздел a для sqlsrv . Но пока я пишу код, я не могу подключиться к MSSQL. Я использую SQL Server.

Я использую ZendFramework и PHP версии 5.4.12, мой OS Windows 7. Мои параметры для подключения resources.db.adapter = sqlsrv resources.db.params.pdoType = mssql Но у меня есть это исключение Fatal.

Я пытаюсь подключиться к серверу mssql с помощью php. Сервер sql находится на другой машине в сети, и у меня есть XAMPP, установленный на моей машине. У меня нет microsoft sql, установленного на.

После обновления до PHP 5.4 и использования фреймворка CodeIgniter PHP мое приложение отказалось подключаться к базе данных SQL Server 2005. Не было никаких изменений конфигурации, и я убедился, что.

Я использую Laravel 5.2. Out-Of-The-Box он не имеет соединения MS SQL в configdatabase.php поэтому я сделал следующие изменения ‘default’ => env(‘DB_CONNECTION’, ‘sqlsrv’), ‘sqlsrv’ => [.

поскольку я не могу установить более старую версию php и нет обновления от sqlsrv для PHP 7.2, есть ли способ по-прежнему использовать его? Каждый раз, когда я пытаюсь установить PHP 7.1.14 на моем.

Какие соображения следует учитывать при выборе между SQLSRV драйвером и PDO драйвером (для PHP с MS SQL сервером)? Я видел этот предыдущий пост Stackoverflow ( при использовании PHP на Windows, что.

я хочу подключиться к серверу sql моя версия php — это 5.4, и у меня есть MS SQL Server 2008 R2, и я использую PHP Codeigniger 2.4 я меняю конфигурацию database.php $db[‘default’][‘hostname’] =.

То, что я хочу достичь, очень просто. Я хочу подключиться к внешней базе данных MS SQL из сценария PHP через безопасное соединение. Однако это оказалось проблематичным, и с тремя часами, отведенными.

Я пытаюсь установить соединение с PHP и MS SQL Server 2005. Я использую IIS 8 в Windows 8 и PHP версии 5.3.28. Я уже провел свое исследование, я нашел MSSQL PHP PDO (.

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector