简体   繁体   中英

Fatal error: Call to undefined function sqlsrv_connect() using wamp php 5.5.12

I am trying to connect to a Azure data base. I have read many other stack overflow answers but they did not work for me:

-I have downloaded all the drivers that Azure offers to you. They are in

C:\\wamp\\bin\\php\\php5.5.12\\ext folder: 在此处输入图片说明

-I have added to the system variable the path to extensions folder.

-I have set the extension in both php.ini files (inside the apache and php folders).

-Extensions have been set like

extension=php_sqlsrv_5X_ts.dll
extension=php_pdo_sqlsrv_5X_ts.dll and like extension=C:/wamp/bin/php/php5.5.12/ext/php_sqlsrv_5X_ts.dll extension=C:/wamp/bin/php/php5.5.12/ext/php_pdo_5X_ts.dll

Where X means that I have tried 53, 54, 55 and 56.

-I restart all wamp services every single time that I try new changes.

-I have even tried with IISExpress.

-It is still giving me this error and I can't see "sqlsvr" when I use phpinfo() .

what more I should do? I have been suffering this for weeks.

I use this XAMPP with PHP 5.5.34 at https://www.apachefriends.org/download.html to have the test to enable the sqlsrv extension of PHP.

You can refer my steps:

  1. After install the XAMPP application, run xampp-control.exe , click config => PHP(php.ini) to check the extension folder. 在此处输入图片说明
  2. Download the MSSQL driver for PHP in 3.2 version from https://msdn.microsoft.com/en-us/library/cc296170%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396 . Uncompress it.
  3. Copy php_pdo_sqlsrv_55_ts.dll and php_sqlsrv_55_ts.dll from the uncompressed driver folder to the PHP extension folder ( X:\\xampp\\php\\ext in my scenario).
  4. Add extension=php_pdo_sqlsrv_55_ts.dll and extension=php_sqlsrv_55_ts.dll in PHP.ini file.
  5. Start Apache.

Meanwhile, you can use phpinfo() to check the setting of Loaded Configuration File and extension_dir to make sure whether you have configured the correct settings in the definite files and the DLL files in the right folder.

I refer to the practice of Jordi's message in this post: Fatal error: Call to undefined function sqlsrv_connect() in C:\\xampp\\htdocs

xampp3.2.1 + php 5.5 + sql server 2014 Express, x64.

My situation is, transplant xampp folder to a brand new computer.

  1. Done all things need to do. (Download SQLSRV 5.6 (or 5.3 or..), check php.ini path, ...)
  2. Download and install OBDC Driver 13 (x64) (or maybe you can try OBDC Driver 11 (x64))
  3. Download and install SQL Server® 2014 Service Pack 3 (x64), need to restart the computer.
  4. Download and install Visual C++ Redistributable VS2012 Update4 ( x86 )
  5. Restart Apache

Then it can work!!!!!

I have been searching for a solution to this problem for several days and hope to help more people.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM