File size: 7,408 Bytes
416e1ba
 
 
 
 
 
 
 
 
ce801ae
 
 
416e1ba
 
ce801ae
416e1ba
ce801ae
 
 
 
416e1ba
ce801ae
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
416e1ba
 
 
 
ce801ae
 
 
416e1ba
ce801ae
 
 
 
416e1ba
ce801ae
 
 
 
 
416e1ba
ce801ae
 
 
416e1ba
ce801ae
 
416e1ba
ce801ae
 
 
416e1ba
 
 
ce801ae
 
 
 
 
 
 
416e1ba
 
 
 
 
ce801ae
416e1ba
ce801ae
416e1ba
ce801ae
 
 
 
 
 
 
 
 
 
 
416e1ba
 
ce801ae
 
416e1ba
ce801ae
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
416e1ba
ce801ae
 
 
 
 
 
 
 
416e1ba
ce801ae
416e1ba
ce801ae
416e1ba
ce801ae
 
 
 
 
416e1ba
ce801ae
416e1ba
 
 
ce801ae
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
---
license: other
tags:
  - php
  - php-extension
  - mongodb
  - mssql
  - sqlsrv
  - pdo_sqlsrv
  - offline
  - air-gapped
pretty_name: PHP MongoDB & MSSQL Extension Binaries + Offline Runtime (Windows + Linux)
---

# PHP MongoDB & MSSQL Extensions β€” Offline Bundle (Windows + Linux)

A **self-contained, air-gap-ready** bundle of prebuilt PHP extension binaries for **MongoDB** and
**Microsoft SQL Server** (`sqlsrv` + `pdo_sqlsrv`), **plus every runtime dependency** normally
downloaded from the internet at install time. Designed to be copied into an **isolated network with
no internet access**.

Covers **PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4** on **Windows (x64 + x86)** and **Linux (x86_64)**.

> **Clarifications on the original request**
> - There is **no "PHP 7.46"** β€” PHP 7.x ended at 7.4.33. This bundle targets **PHP β‰₯ 7.4**.
> - On **Windows** PHP extensions are `.dll` (`php_mongodb.dll`, `php_sqlsrv.dll`, `php_pdo_sqlsrv.dll`);
>   `.so` files are **Linux-only**. Both are provided, correctly per-OS.

---

## What's in the box

| Component | Windows | Linux |
|-----------|---------|-------|
| **mongodb** extension | βœ… 7.4–8.4, x64+x86, TS+NTS | βœ… 7.4–8.4 (RHEL 9 + Debian 12) |
| **sqlsrv** extension | βœ… 7.4–8.4, x64+x86, TS+NTS | βœ… 7.4–8.4 (RHEL 9) |
| **pdo_sqlsrv** extension | βœ… 7.4–8.4, x64+x86, TS+NTS | βœ… 7.4–8.4 (RHEL 9) |
| **MS ODBC Driver** (MSSQL runtime dep) | βœ… v17 + v18, x64+x86 (MSI) | βœ… v17 + v18 (Debian `.deb` + RHEL `.rpm`) |
| **Visual C++ Redistributable** (DLL runtime dep) | βœ… x64 + x86 | n/a |

**109 files, ~156 MB.** Every binary is listed with a SHA-256 in [`SHA256SUMS`](SHA256SUMS).

---

## Directory layout

```
windows/php<VER>/<ts|nts>/<x64|x86>/php_mongodb.dll
                                    /php_sqlsrv.dll
                                    /php_pdo_sqlsrv.dll

linux/rhel9/php<VER>/x64/mongodb.so          # RHEL/Rocky/Alma/CentOS 9  (complete: all 3 exts)
                        /sqlsrv.so
                        /pdo_sqlsrv.so
linux/debian12/php<VER>/x64/mongodb.so       # Debian 12 / Ubuntu        (mongodb only)

runtime/windows/  msodbcsql18_x64.msi  msodbcsql18_x86.msi
                  msodbcsql17_x64.msi  msodbcsql17_x86.msi
                  VC_redist.x64.exe    VC_redist.x86.exe
runtime/linux/debian12/  msodbcsql18_*.deb  msodbcsql17_*.deb
runtime/linux/rhel9/     msodbcsql18-*.rpm  msodbcsql17-*.rpm

SHA256SUMS
LINUX-MSSQL-BUILD.md    # fallback: build sqlsrv/pdo_sqlsrv on other distros
```

`ts` = Thread-Safe (Apache mod_php); `nts` = Non-Thread-Safe (php-fpm / FastCGI / CLI β€” the usual pick).
Check yours: `php -i | grep "Thread Safety"` (Linux) or `php -i | findstr "Thread"` (Windows).

---

## Offline install

### Windows

1. **Install the VC++ redistributable once per machine** (required for the DLLs to load):
   run `runtime/windows/VC_redist.x64.exe` (and/or the x86 one for 32-bit PHP).
2. **For MSSQL only** β€” install the ODBC driver:
   `msiexec /i runtime\windows\msodbcsql18_x64.msi IACCEPTMSODBCSQLLICENSETERMS=YES` (v18 recommended; v17 also included).
3. Match your PHP build (`php -i` β†’ *PHP Version*, *Thread Safety*, *Architecture*) and copy the DLL(s)
   from `windows/php<VER>/<ts|nts>/<arch>/` into your PHP `ext\` directory.
4. Enable in `php.ini`:
   ```ini
   extension=php_mongodb.dll
   extension=php_sqlsrv.dll
   extension=php_pdo_sqlsrv.dll
   ```
5. Restart the web server / PHP-FPM; verify with `php -m`.

### Linux β€” RHEL / Rocky / Alma / CentOS 9

1. **For MSSQL only** β€” install the ODBC driver (offline):
   ```bash
   sudo ACCEPT_EULA=Y rpm -i runtime/linux/rhel9/msodbcsql18-*.rpm
   # requires unixODBC from your base OS media/repo:  sudo dnf install unixODBC
   ```
2. Copy the `.so` for your PHP version to the extension dir (`php-config --extension-dir`, e.g.
   `/usr/lib64/php/modules/`):
   ```bash
   sudo cp linux/rhel9/php8.3/x64/{mongodb.so,sqlsrv.so,pdo_sqlsrv.so} $(php-config --extension-dir)/
   ```
3. Enable via `.ini` files in your PHP `conf.d`:
   ```ini
   extension=mongodb.so
   extension=sqlsrv.so
   extension=pdo_sqlsrv.so
   ```
4. `php -m | grep -Ei 'mongodb|sqlsrv'` to verify.

### Linux β€” Debian 12 / Ubuntu

- **mongodb** is provided under `linux/debian12/php<VER>/x64/mongodb.so` β€” copy it to your
  extension dir (`php -i | grep extension_dir`) and add `extension=mongodb.so`.
- **MSSQL:** install the ODBC driver from `runtime/linux/debian12/msodbcsql18_*.deb`
  (`sudo ACCEPT_EULA=Y dpkg -i ...`; needs `unixodbc` from base repo). Prebuilt `sqlsrv.so` /
  `pdo_sqlsrv.so` for Debian are **not** in this bundle (Microsoft ships them as source only) β€” either
  reuse the RHEL 9 `.so` if your glibc is compatible, or compile them with
  [`LINUX-MSSQL-BUILD.md`](LINUX-MSSQL-BUILD.md) on a connected build box and copy the result in.

---

## ⚠️ Important notes

- **glibc only.** All Linux `.so` are glibc builds β€” they will **not** run on **musl** distros
  (Alpine). On Alpine use `apk add php<ver>-mongodb` / build against musl.
- **PHP minor must match exactly.** A `php8.2` `.so`/`.dll` only loads in PHP 8.2.
- **Base-OS dependency:** the MSSQL extensions require **unixODBC** (Linux) β€” a standard base-repo
  package β€” in addition to the Microsoft ODBC driver included here. It's usually already installed.
- **Mixing distros:** the RHEL 9 and Debian 12 `.so` are ABI-compatible for the same PHP minor on
  most modern glibc systems, but for production prefer the set matching your actual distro.

## Version summary

| PHP | Win mongodb | Win sqlsrv/pdo | Linux mongodb (rhel9 / deb12) | Linux sqlsrv/pdo (rhel9) |
|-----|-------------|----------------|-------------------------------|--------------------------|
| 7.4 | 1.20.1      | 5.10.0         | 1.20.1 / 1.20.1               | 5.10.1                   |
| 8.0 | 1.20.1      | 5.10.0         | 1.20.1 / 1.20.1               | 5.11.1                   |
| 8.1 | 2.4.1       | 5.12.0         | 2.4.1 / 2.1.4                 | 5.12.0                   |
| 8.2 | 2.4.1       | 5.12.0         | 2.4.1 / 2.1.4                 | 5.12.0                   |
| 8.3 | 2.4.1       | 5.13.3         | 2.4.1 / 2.1.4                 | 5.13.3                   |
| 8.4 | 2.4.1       | 5.13.3         | 2.4.1 / 2.1.4                 | 5.13.3                   |

ODBC driver: v18.6.2.1 + v17 (17.10.6.1 Win / 17.11.1.1 Linux). VC++ Redist: VS2015–2022 (17.x).

## Sources & provenance (all unmodified upstream)

- **Windows DLLs:** official PECL β€” https://downloads.php.net/~windows/pecl/releases/
- **Linux mongodb.so (Debian 12):** https://packages.sury.org/ (deb.sury.org)
- **Linux .so (RHEL 9):** Remi's RPM repository β€” https://rpms.remirepo.net/enterprise/9/
- **MS ODBC Driver & Linux packages:** https://packages.microsoft.com / download.microsoft.com
- **VC++ Redistributable:** https://aka.ms/vs/17/release/

Verify integrity with `sha256sum -c SHA256SUMS` (Linux) or `CertUtil -hashfile <file> SHA256` (Windows).

## Licenses

- MongoDB PHP extension β€” **Apache-2.0**
- Microsoft Drivers for PHP for SQL Server (`sqlsrv`, `pdo_sqlsrv`) β€” **MIT**
- Microsoft ODBC Driver & Visual C++ Redistributable β€” **Microsoft EULA** (redistributed for
  offline convenience; by installing you accept Microsoft's license terms). All trademarks belong to
  their respective owners. This repo is an unofficial convenience mirror.