php-sqlsrv/README.md

141 lines
8.5 KiB
Markdown
Raw Normal View History

# Microsoft Drivers for PHP for Microsoft SQL Server
2016-08-25 01:37:22 +02:00
**Welcome to the Microsoft Drivers for PHP for Microsoft SQL Server**
2016-08-25 01:37:22 +02:00
The [Microsoft Drivers for PHP for Microsoft SQL Server][phpdoc] are PHP extensions that allow for the reading and writing of SQL Server data from within PHP scripts. The SQLSRV extension provides a procedural interface while the PDO_SQLSRV extension implements PHP Data Objects (PDO) for accessing data in all editions of SQL Server 2012 and later (including Azure SQL DB). These drivers rely on the [Microsoft ODBC Driver for SQL Server][odbcdoc] to handle the low-level communication with SQL Server.
2017-02-22 05:24:33 +01:00
This release contains the SQLSRV and PDO_SQLSRV drivers for PHP 7.3+ with improvements on both drivers and some limitations. Upcoming [releases][releases] will contain additional functionalities, bug fixes, and more.
2017-03-07 03:02:41 +01:00
2017-03-20 21:51:54 +01:00
## Take our survey
2017-02-22 05:24:33 +01:00
2019-11-26 00:20:30 +01:00
Thank you for taking the time to participate in the [sentiment survey](https://github.com/microsoft/msphpsql/wiki/Survey-Results). You can continue to help us improve by letting us know how we are doing and how you use [PHP][phpweb]:
2017-02-22 05:24:33 +01:00
<a href="https://aka.ms/mssqlphpsurvey"><img style="float: right;" height="67" width="156" src="https://sqlchoice.blob.core.windows.net/sqlchoice/static/images/survey.png"></a>
2017-02-22 05:24:33 +01:00
2017-03-20 21:51:54 +01:00
### Status of Most Recent Builds
2022-01-20 21:56:07 +01:00
| Azure Pipelines (Linux) | AppVeyor (Windows) | Coverage (Windows) |
|--------------------------|--------------------------|---------------------------------------|
| [![az-image][]][az-site] | [![av-image][]][av-site] | [![Coverage Codecov][]][codecov-site] |
[av-image]: https://ci.appveyor.com/api/projects/status/vo4rfei6lxlamrnc?svg=true
[av-site]: https://ci.appveyor.com/project/msphpsql/msphpsql/branch/dev
[az-site]: https://dev.azure.com/sqlclientdrivers-ci/msphpsql/_build/latest?definitionId=6&branchName=dev
[az-image]: https://dev.azure.com/sqlclientdrivers-ci/msphpsql/_apis/build/status/Microsoft.msphpsql?branchName=dev
2020-02-05 23:20:21 +01:00
[Coverage Codecov]: https://codecov.io/gh/microsoft/msphpsql/branch/dev/graph/badge.svg
2017-10-11 23:42:58 +02:00
[codecov-site]: https://codecov.io/gh/microsoft/msphpsql
2016-08-25 01:37:22 +02:00
2017-03-20 21:51:54 +01:00
## Get Started
2016-11-16 21:39:39 +01:00
2022-01-20 21:56:07 +01:00
Please follow the [Getting started](https://docs.microsoft.com/sql/connect/php/getting-started-with-the-php-sql-driver) page.
2016-09-13 23:46:11 +02:00
2017-03-20 21:51:54 +01:00
## Announcements
2016-08-25 01:37:22 +02:00
2019-11-26 00:20:30 +01:00
Please follow [SQL Server Drivers][sqldrivers] for announcements.
2016-08-25 01:37:22 +02:00
## Prerequisites
2016-08-25 01:37:22 +02:00
For full details on the system requirements for the drivers, see the [system requirements](https://docs.microsoft.com/sql/connect/php/system-requirements-for-the-php-sql-driver) on Microsoft Docs.
2016-08-25 01:37:22 +02:00
On the client machine:
2022-01-21 00:34:53 +01:00
- 7.4.x, 8.0.x, 8.1.x
2022-01-20 21:56:07 +01:00
- [Microsoft ODBC Driver 17 or Microsoft ODBC Driver 13][odbcdoc]
- If using a Web server such as Internet Information Services (IIS) or Apache, it must be configured to run PHP
2016-08-25 01:37:22 +02:00
2020-01-29 19:46:09 +01:00
On the server side, Microsoft SQL Server 2012 and above on Windows are supported, as are Microsoft SQL Server 2016 and above on Linux.
2016-08-25 01:37:22 +02:00
## Building and Installing the Drivers on Windows
2016-08-25 01:37:22 +02:00
2022-01-20 21:56:07 +01:00
The drivers are distributed as pre-compiled extensions for PHP found on the [releases page][releases]. They are available in thread-safe and non-thread-safe versions, and in 32-bit (Windows only) and 64-bit versions. The source code for the drivers is also available, and you can compile them as thread safe or non-thread-safe versions. The thread safety configuration of your web server will determine which version you need.
2022-01-20 21:56:07 +01:00
If you choose to build the drivers, you must be able to build PHP 7.* or 8.* without including these extensions. For help building PHP on Windows, see the [official PHP website][phpbuild]. For details on compiling the drivers, see the [documentation](https://github.com/microsoft/msphpsql/blob/master/buildscripts/README.md) -- an example buildscript is provided, but you can also compile the drivers manually.
2022-01-20 21:56:07 +01:00
To load the drivers, make sure that the driver is in your PHP extension directory and enable it in your PHP installation's php.ini file by adding `extension=php_sqlsrv.dll` and/or `extension=php_pdo_sqlsrv.dll` to the ini file. If necessary, specify the extension directory using `extension_dir`, for example: `extension_dir = "C:\PHP\ext"`. Note that the precompiled binaries have different names -- substitute accordingly in php.ini. For more details on loading the drivers, see [Loading the PHP SQL Driver](https://docs.microsoft.com/sql/connect/php/loading-the-php-sql-driver) on Microsoft Docs.
2017-08-10 01:06:38 +02:00
Finally, if running PHP in a Web server, restart the Web server.
2017-08-10 01:06:38 +02:00
## Install (UNIX)
2017-08-02 01:09:56 +02:00
2019-11-26 00:20:30 +01:00
For full instructions on installing the drivers on all supported Unix platforms, see [the installation instructions on Microsoft Docs][unixinstructions].
2016-08-25 01:37:22 +02:00
## Sample Code
For PHP code samples, please see the [sample](https://github.com/Microsoft/msphpsql/tree/master/sample) folder or the [code samples on Microsoft Docs](https://docs.microsoft.com/sql/connect/php/code-samples-for-php-sql-driver). For information on how to use the driver, see [Microsoft Drivers for PHP for Microsoft SQL Server][phpdoc].
2016-08-25 01:37:22 +02:00
## Limitations and Known Issues
2019-11-26 00:20:30 +01:00
Please refer to [Releases][releases] for the latest limitations and known issues.
2016-08-25 01:37:22 +02:00
2017-03-20 21:51:54 +01:00
## Version number
2018-10-01 23:01:10 +02:00
The version numbers of the PHP drivers follow [semantic versioning](https://semver.org/):
2017-03-07 03:02:41 +01:00
Given a version number MAJOR.MINOR.PATCH,
- MAJOR version is incremented when an incompatible API change is made,
2018-02-09 01:42:34 +01:00
- MINOR version is incremented when functionality is added in a backwards-compatible manner, and
2017-03-07 03:02:41 +01:00
- PATCH version is incremented when backwards-compatible bug fixes are made.
The version number may have trailing pre-release version identifiers to indicate the stability and/or build metadata.
2017-03-07 03:02:41 +01:00
- Pre-release version is denoted by a hyphen followed by `beta` or `RC` followed by a number. Production quality releases do not contain the pre-release version. `beta` has lower precedence than `RC`. Note that the PECL package version numbers do not have the hyphen before the pre-release version, owing to restrictions in PECL. An example of a PECL package version is `5.9.0beta2`.
- Build metadata may be denoted by a plus sign followed by a number of digits, such as `5.9.0-beta2+13930`. Build metadata does not affect the precedence order.
2017-03-07 03:02:41 +01:00
2016-08-25 01:37:22 +02:00
## Future Plans
2019-11-26 00:20:30 +01:00
- Expand SQL Server feature support (example: Azure Active Directory, Always Encrypted, etc.)
- Add more verification/fundamental tests
2019-02-11 23:42:15 +01:00
- Improve performance
- Bug fixes
2016-08-25 01:37:22 +02:00
## Guidelines for Reporting Issues
We appreciate you taking the time to test the driver, provide feedback and report any issues. It would be extremely helpful if you:
- First check the [FAQ](https://github.com/Microsoft/msphpsql/wiki/FAQ) for common problems
2016-08-25 01:37:22 +02:00
- Report each issue as a new issue (but check first if it's already been reported)
2018-05-26 01:33:20 +02:00
- Please address the questions in the new issue template and provide scripts, table schema, and/or any details that may help reproduce the problem(s)
2016-08-25 01:37:22 +02:00
Thank you!
2019-02-11 23:42:15 +01:00
## Questions
2016-08-25 01:37:22 +02:00
**Q:** Can we get dates for any of the Future Plans listed above?
**A:** At this time, Microsoft is not able to announce dates. We are working hard to release future versions of the driver and will share future plans as appropriate.
2016-08-25 01:37:22 +02:00
**Q:** What's next?
2019-11-26 00:20:30 +01:00
**A:** We will continue working on our future plans and releasing previews of upcoming [releases][releases]
2016-08-25 01:37:22 +02:00
**Q:** Is Microsoft taking pull requests for this project?
**A:** Yes. Please submit pull requests to the **dev** branch, not the **master** branch.
2016-08-25 01:37:22 +02:00
## License
The Microsoft Drivers for PHP for SQL Server are licensed under the MIT license. See the LICENSE file for more details.
2016-08-25 01:37:22 +02:00
## Code of conduct
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
2016-08-25 01:37:22 +02:00
## Resources
**Documentation**: [Microsoft Docs Online][phpdoc].
2016-08-25 01:37:22 +02:00
2019-11-26 00:20:30 +01:00
**SQL Server Drivers**: Please browse the articles for announcements of various [SQL Server Drivers][sqldrivers].
2016-08-25 01:37:22 +02:00
**Known Issues**: Please visit the [project on Github][project] to view outstanding [issues][issues] and report new ones.
2019-11-26 00:20:30 +01:00
[sqldrivers]: https://techcommunity.microsoft.com/t5/SQL-Server/bg-p/SQLServer/label-name/SQLServerDrivers
2016-08-25 01:37:22 +02:00
2022-01-20 21:56:07 +01:00
[project]: https://github.com/microsoft/msphpsql
2016-08-25 01:37:22 +02:00
2022-01-20 21:56:07 +01:00
[issues]: https://github.com/microsoft/msphpsql/issues
2016-08-25 01:37:22 +02:00
2019-11-26 00:20:30 +01:00
[releases]: https://github.com/microsoft/msphpsql/releases
2018-10-01 23:01:10 +02:00
[phpweb]: https://php.net
2016-08-25 01:37:22 +02:00
2019-11-26 00:20:30 +01:00
[phpbuild]: https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2
2016-08-25 01:37:22 +02:00
2022-01-20 21:56:07 +01:00
[phpdoc]: https://docs.microsoft.com/sql/connect/php/microsoft-php-driver-for-sql-server
2022-01-20 21:56:07 +01:00
[odbcdoc]: https://docs.microsoft.com/sql/connect/odbc/microsoft-odbc-driver-for-sql-server
2019-11-26 00:20:30 +01:00
[unixinstructions]: https://docs.microsoft.com/sql/connect/php/installation-tutorial-linux-mac