Call to undefined function sqlsrv connect

Я столкнулся с довольно несколькими сообщениями по одному и тому же вопросу, однако я все еще не могу его разрешить, и поэтому я спрашиваю. Я пытаюсь подключиться к sql в моем php script. Моя строка подключения:

Я установил и включил следующее в мой файл php.ini , расположенный под папкой wamp: C:wampinphpphp5.4.16 :

Мой wampserver работает нормально, а также службы wampapache и wampsqld . Я могу успешно выполнить php.exe. Однако я не могу установить соединение с SQL Server 2008 R2 , где находится моя база данных. Пожалуйста, помогите!

РЕДАКТИРОВАТЬ 1: сервер wamp запускает службу wampmysql, пока я пытаюсь подключиться к SQL Server 2008 R2 . Может ли это быть причиной? Должен ли я использовать MySQL вместо SQL ? Любые указатели?

EDIT 2: я вообще не вижу раздел sqlsrv при запуске phpinfo() , хотя я добавил extension=php_sqlsrv_54_ts.dll в файл php.ini , расположенный в папке bin на сервере Wamp.

При установке сторонних расширений необходимо убедиться, что все параметры компиляции совпадают:

  • Версия PHP
  • Архитектура (32/64 бита)
  • Компилятор (VC9, VC10, VC11. )
  • Безопасность потоков

Общие глюки включают в себя:

  • Редактирование неправильного файла php.ini (что типично для пакетов); правильный путь показан в phpinfo() .
  • Забыл перезапустить Apache.

Невозможность увидеть ошибки при запуске; они должны отображаться в журналах Apache, но вы также можете использовать командную строку для диагностики, например:

Если все в порядке, вы должны увидеть sqlsrv в выводе команды и/или phpinfo() (в зависимости от того, какой SAPI вы настраиваете):

Если вы используете Microsoft Drivers 3.1, 3.0 и 2.0. Пожалуйста, проверьте версию PHP, уже установленную с IIS.

Используйте этот скрипт для проверки версии php:

Если вы установили PHP Manager в IIS с помощью установщика веб-платформы, вы можете проверить его версию.

Тогда:
Если вы используете новую версию PHP (5.6), пожалуйста, загрузите драйверы отсюда

Для версии PHP ниже 5.6 — пожалуйста, загрузите драйверы отсюда

  • Драйвер PHP версии 3.1 требует PHP 5.4.32 или PHP 5.5.16 или новее.
  • Драйвер PHP версии 3.0 требует PHP 5.3.0 или выше. Если возможно, используйте PHP 5.3.6 или более поздняя версия.
  • Драйвер PHP Driver версии 2.0 работает с PHP 5.2.4 или новее, но не с PHP 5.4. Если возможно, используйте PHP 5.2.13 или более позднюю версию.

Затем с помощью диспетчера PHP добавьте загруженные драйверы в файл php config . Вы можете сделать это, как показано ниже (просмотрите файлы и нажмите OK). Затем перезапустите сервер IIS

Если этот метод не работает, измените версию php и попробуйте запустить скрипт php.

Совет: измените php version на более низкий и попытайтесь понять, что произошло. Затем вы можете загрузить соответствующие драйверы.

Сначала убедитесь, что расширение правильно загружено в phpinfo(); (должно появиться что-то вроде sqlsrv ). Если нет, расширение неправильно загружено. Вам также необходимо перезапустить apache после установки расширения.

I have come across quite a few post regarding the same subject question, however I am still unable to resolve it and so I ask. I am trying to connect to sql in my php script. My connection string is:

I have installed and included the following in my php.ini file located under the wamp folder: C:wampinphpphp5.4.16 :

My wampserver is running fine and so are the wampapache and wampsqld services. I am able to execute php.exe successfully. However I am unable to make the connection to SQL Server 2008 R2 where my database is located. Please help!

EDIT 1: The wamp server is running the wampmysql service while I am trying to connect to SQL Server 2008 R2 . Could this be the reason? Should I be using MySQL instead of SQL ? Any pointers?

EDIT 2: I do not see sqlsrv section at all when I run phpinfo() though I have added extension=php_sqlsrv_54_ts.dll in the php.ini file located in the bin folder of the wamp server.

5 Answers 5

When you install third-party extensions you need to make sure that all the compilation parameters match:

  • PHP version
  • Architecture (32/64 bits)
  • Compiler (VC9, VC10, VC11. )
  • Thread safety

Common glitches includes:

  • Editing the wrong php.ini file (that’s typical with bundles); the right path is shown in phpinfo() .
  • Forgetting to restart Apache.

Not being able to see the startup errors; those should show up in Apache logs, but you can also use the command line to diagnose it, e.g.:

If everything’s right you should see sqlsrv in the command output and/or phpinfo() (depending on what SAPI you’re configuring):

This helped me get to my answer. There are two php.ini files located, in my case, for wamp. One is under the php folder and the other one is in the C:wampinapacheApachex.x.xin folder. When connecting to SQL through sqlsrv_connect function, we are referring to the php.ini file in the apache folder. Add the following (as per your version) to this file:

If you are using Microsoft Drivers 3.1, 3.0, and 2.0. Please check your PHP version already install with IIS.

Use this script to check the php version:

If you have installed PHP Manager in IIS using web platform Installer you can check the version from it.

Then:
If you are using new PHP version (5.6) please download Drivers from here

For PHP version Lower than 5.6 — please download Drivers from here

  • PHP Driver version 3.1 requires PHP 5.4.32, or PHP 5.5.16, or later.
  • PHP Driver version 3.0 requires PHP 5.3.0 or later. If possible, use PHP 5.3.6, or later.
  • PHP Driver version 2.0 driver works with PHP 5.2.4 or later, but not with PHP 5.4. If possible, use PHP 5.2.13, or later.

Then use the PHP Manager to add that downloaded drivers into php config file.You can do it as shown below (browse the files and press OK). Then Restart the IIS Server

If this method not work please change the php version and try to run your php script.

Posted by: admin December 17, 2017 Leave a comment

I have come across quite a few post regarding the same subject question, however I am still unable to resolve it and so I ask. I am trying to connect to sql in my php script. My connection string is:

I have installed and included the following in my php.ini file located under the wamp folder: C:wampinphpphp5.4.16 :

My wampserver is running fine and so are the wampapache and wampsqld services. I am able to execute php.exe successfully. However I am unable to make the connection to SQL Server 2008 R2 where my database is located. Please help!

EDIT 1: The wamp server is running the wampmysql service while I am trying to connect to SQL Server 2008 R2 . Could this be the reason? Should I be using MySQL instead of SQL ? Any pointers?

EDIT 2: I do not see sqlsrv section at all when I run phpinfo() though I have added extension=php_sqlsrv_54_ts.dll in the php.ini file located in the bin folder of the wamp server.

This helped me get to my answer. There are two php.ini files located, in my case, for wamp. One is under the php folder and the other one is in the C:wampinapacheApachex.x.xin folder. When connecting to SQL through sqlsrv_connect function, we are referring to the php.ini file in the apache folder. Add the following (as per your version) to this file:

When you install third-party extensions you need to make sure that all the compilation parameters match:

  • PHP version
  • Architecture (32/64 bits)
  • Compiler (VC9, VC10, VC11…)
  • Thread safety

Common glitches includes:

  • Edit the wrong php.ini file (that’s typical with bundles); the right path is show in phpinfo()
  • Forget to restart Apache

Not be able to see the startup errors; those should show up in Apache logs, but you can also use the command line to diagnose it, e.g.:

If everything’s right you should see sqlsrv in the command output:

If you are using Microsoft Drivers 3.1, 3.0, and 2.0.
Please check your PHP version already install with IIS.

Use this script to check the php version:

If you have installed PHP Manager in IIS using web platform Installer you can check the version from it.

Then:
If you are using new PHP version (5.6) please download Drivers from here

For PHP version Lower than 5.6 – please download Drivers from here

  • PHP Driver version 3.1 requires PHP 5.4.32, or PHP 5.5.16, or later.
  • PHP Driver version 3.0 requires PHP 5.3.0 or later. If possible, use
    PHP 5.3.6, or later.
  • PHP Driver version 2.0 driver works with PHP 5.2.4 or later, but not
    with PHP 5.4. If possible, use PHP 5.2.13, or later.

Then use the PHP Manager to add that downloaded drivers into php config file.You can do it as shown below (browse the files and press OK).
Then Restart the IIS Server

If this method not work please change the php version and try to run your php script.

To change the php version to lower and try to understand what happened.then you can download relevant drivers fowling my above steps.

First check that the extension is properly loaded in phpinfo(); (something like sqlsrv should appear). If not, the extension isn’t properly loaded. You also need to restart apache after installing an extension.


[an error occurred while processing the directive]
Карта сайта