Repository: src/php-ext (git@github.com:diepxuan/php-ext.git)
Chuc nang: Build system thong nhat cho PHP PECL extensions
php-ext la build system thong nhat, build 3 PHP extensions tu 1 repo duy nhat:
| Module | PECL Package | Description |
|---|---|---|
sqlsrv |
sqlsrv | Microsoft Drivers for PHP for SQL Server (SQLSRV) |
pdo_sqlsrv |
pdo_sqlsrv | Microsoft Drivers for PHP for SQL Server (PDO_SQLSRV) |
runkit7 |
runkit7 | PHP runkit7 extension |
src/php-ext/
├── src/
│ ├── build.sh # Build script chuyen dung
│ └── debian/
│ ├── changelog # Changelog mac dinh (php-runkit7)
│ ├── control.in # Control template mac dinh (cho runkit7)
│ ├── runkit7.control.in # Control template cho runkit7
│ ├── sqlsrv.control.in # Control template cho sqlsrv
│ ├── pdo_sqlsrv.control.in # Control template cho pdo_sqlsrv
│ ├── php-sqlsrv.substvars # Metadata cho sqlsrv
│ ├── php-pdo-sqlsrv.substvars # Metadata cho pdo_sqlsrv
│ ├── php-runkit7.substvars # Metadata cho runkit7
│ ├── php-sqlsrv.rules # Build rules cho sqlsrv
│ ├── php-pdo_sqlsrv.rules # Build rules cho pdo_sqlsrv
│ └── rules # Rules mac dinh
build.sh lay module name tu repository name:
env module $(echo $project | sed 's/^php-//g')Vi du:
diepxuan/php-sqlsrv→module=sqlsrvdiepxuan/php-pdo_sqlsrv→module=pdo_sqlsrvdiepxuan/php-runkit7→module=runkit7
Script chon control file theo thu tu:
# Neu co module-specific control.in → dung cai do
[[ -f $(realpath $debian_dir/$module.control.in) ]] &&
cat $(realpath $debian_dir/$module.control.in) | tee $controlin
# Sau do replace placeholders
sed -i -e "s|_PROJECT_|$_project|g" $controlin
sed -i -e "s|_MODULE_|$module|g" $controlinKet qua:
sqlsrv→sqlsrv.control.in(neu khong co →control.in)pdo_sqlsrv→pdo_sqlsrv.control.in(neu khong co →control.in)runkit7→runkit7.control.in(neu khong co →control.in)
[[ -f "$debian_dir/php-$module.rules" ]] && cat "$debian_dir/php-$module.rules" >>"$rules"Build-Depends: unixodbc-dev, unixodbc, msodbcsql18, php-dev
Depends: msodbcsql18
Description: Microsoft Drivers for PHP for SQL Server (SQLSRV)
Build-Depends: unixodbc-dev, unixodbc, msodbcsql18, php-dev
Depends: msodbcsql18
Description: Microsoft Drivers for PHP for SQL Server (PDO_SQLSRV)
Build-Depends: php-dev
Description: runkit7 module for PHP
- Them file
debian/<module>.control.in(neu can template rieng) - Them file
debian/php-<module>.substvars - Them file
debian/php-<module>.rules(neu can build rules rieng) - Khong sua
control.inmac dinh (dung cho runkit7)
- Chung cho moi module: Sua
control.in - Rieng cho tung module: Sua
<module>.control.in
- Set environment variable
repositoryde build script xac dinh module:repository: diepxuan/php-sqlsrv → build sqlsrv repository: diepxuan/php-pdo_sqlsrv → build pdo_sqlsrv repository: diepxuan/php-runkit7 → build runkit7
| Module | Build Deps | Runtime Deps |
|---|---|---|
| sqlsrv | unixodbc-dev, unixodbc, msodbcsql18, php-dev | msodbcsql18 |
| pdo_sqlsrv | unixodbc-dev, unixodbc, msodbcsql18, php-dev | msodbcsql18 |
| runkit7 | php-dev | (none) |
| Module | Debian | Ubuntu | PHP Versions |
|---|---|---|---|
| sqlsrv | 10, 11, 12 | 18.04, 20.04, 22.04, 24.04, 24.10, 25.04 | 8.1, 8.2, 8.3, 8.4 |
| pdo_sqlsrv | 10, 11, 12 | 18.04, 20.04, 22.04, 24.04, 24.10, 25.04 | 8.1, 8.2, 8.3, 8.4 |
| runkit7 | 10, 11, 12 | 18.04, 20.04, 22.04, 24.04, 24.10 | 7.2, 7.3, 7.4, 8.0, 8.1, 8.2, 8.3 |
| Repo | URL | Trang thai |
|---|---|---|
src/diepxuan/php-sqlsrv |
github.com/diepxuan/php-sqlsrv | Da mo rong → php-ext |
src/diepxuan/php-pdo_sqlsrv |
github.com/diepxuan/php-pdo_sqlsrv | Da mo rong → php-ext |
src/diepxuan/php-runkit7 |
github.com/diepxuan/php-runkit7 | Da mo rong → php-ext |
| Repo | URL | Trang thai |
|---|---|---|
src/php-ext |
github.com/diepxuan/php-ext | Active - Build system thong nhat |
- Moi work trong
src/php-ext. - Khong lam viec trong
src/diepxuan/php-sqlsrvhaysrc/diepxuan/php-pdo_sqlsrv. - Moi module co file rieng trong
src/debian/. - Khong sua
control.inchung neu khong can.