# Żvilupp lokali ta' PHP: Docker, DDEV u oħrajn

> Żvilupp lokali ta' PHP bis-server integrat, Docker jew DDEV: saħħiet, limiti, eżempji u kif l-iżvilupp u l-produzzjoni jibqgħu l-istess fl-istat tal-patches.

Sors: https://phpsos.de/mt/php/php-lokal-entwickeln/  
Stat: 25/10/2026  
Fornitur: PHP SOS, Għajnuna ta' emerġenza għal PHP u sigurtà tas-server. Għajnuna immedjata fuq WhatsApp: https://wa.me/491736494914?text=Bongu%20PHP%20SOS%2C%20g%C4%A7andna%20b%C5%BConn%20g%C4%A7ajnuna%20bis-server%20tal-PHP%20tag%C4%A7na.%20Kumpanija%3A%20%E2%80%A6%20Websajt%3A%20%E2%80%A6

**Fil-qosor:** Biex PHP jiġi żviluppat lokalment hemm tliet modi komuni: is-server tal-web integrat (`php -S`) għal provi mgħaġġla, l-immaġini uffiċjali ta' PHP għal Docker għal ambjenti li jistgħu jerġgħu jinbnew, u għodod bħal DDEV, li joħolqu ambjenti lesti tal-proġett għal WordPress, TYPO3, Shopware jew Laravel. Deċiżiv huwa anqas l-għodda milli l-qbil: lokalment għandha taħdem l-istess verżjoni ta' PHP bl-istess estensjonijiet bħal live. Għas-sigurtà, madankollu, fl-aħħar dejjem jgħodd ir-runtime fuq is-server.

## Għaliex ambjent proprju ta' żvilupp?

Li ssir bidla direttament fuq is-server live huwa riskjuż: kull żball tat-tipjar huwa viżibbli minnufih għall-klijenti, u fajls tat-test spiss jibqgħu hemm. Ambjent lokali jifred il-prova mit-tħaddim. Huwa fl-istess ħin il-post fejn verżjonijiet ġodda ta' PHP u aġġornamenti tas-sigurtà jiġu ttestjati l-ewwel.

Għat-tmexxija u għall-kap tal-IT, il-mistoqsija għalhekk mhijiex jekk hemmx ambjent ta' żvilupp, imma jekk jikkorrispondix mas-sistema live. Ambjent lokali b'PHP 8.4, filwaqt li live għadu jaħdem 8.1, jgħatti l-problemi minflok juriom. Il-mod hu l-istess għall-verżjoni tad-database, għas-server tal-web u għal estensjonijiet bħal `intl`, `gd` jew `pdo_mysql`: diġà estensjoni nieqsa tista' twassal biex żball jidher biss live.

## L-għażliet f'ħarsa

| Għażla | Adattata għal | Saħħiet | Limiti |
|---|---|---|---|
| Server integrat `php -S` | provi qosra, skripts żgħar | mingħajr installazzjoni ta' softwer ieħor | mhux sostitut għal Nginx jew Apache, mhux għal networks pubbliċi |
| Immaġni uffiċjali ta' Docker | timijiet, ambjenti li jistgħu jerġgħu jinbnew | verżjoni stabbilita b'tag, qrib it-tħaddim f'containers | konfigurazzjoni u interazzjoni ta' diversi containers jinbnew waħdek |
| DDEV | proġetti ta' CMS u frameworks | tipi ta' proġetti lesti, database u server tal-web inklużi | jeħtieġ Docker, konvenzjonijiet proprji |
| PHP installat lokalment | żviluppatur individwali | veloċi, dirett | verżjonijiet ta' diversi proġetti diffiċli biex jinżammu b'mod parallel |

## Is-server tal-web integrat

Minn PHP 5.4 il-linja tal-kmand fiha server żgħir tal-web. Jibda fid-direttorju kurrenti jew b'`-t` f'direttorju ieħor tad-dokumenti:

```bash
php -S localhost:8000 -t public/
```

Fakultattivament tgħaddu skript router li jaħdem l-ewwel ma' kull talba. Il-manwal huwa ċar fil-klassifikazzjoni: is-server għandu jappoġġa l-iżvilupp, mhuwiex server tal-web sħiħ u m'għandux jintuża f'network pubbliku. Torbtuh għalhekk ma' `localhost`, mhux ma' `0.0.0.0`, inkella jista' jkun aċċessibbli fil-WLAN tal-kumpanija jew tal-lukanda. Aktar dwar il-linja tal-kmand taħt [PHP fil-linja tal-kmand](https://phpsos.de/mt/php/php-cli/).

## Docker: immaġini uffiċjali ta' PHP

L-immaġini uffiċjali jeżistu f'diversi varjanti: `cli` għal-linja tal-kmand, `apache` b'Apache u mod_php, `fpm` għat-tħaddim wara Nginx jew proxy ieħor, flimkien ma' varjanti Alpine għal immaġini żgħar. Bidu mgħaġġel b'Apache:

```bash
docker run --rm -p 8080:80 -v "$PWD":/var/www/html php:8.4-apache
```

L-immaġini fihom il-mudelli `php.ini-development` u `php.ini-production` fid-direttorju `$PHP_INI_DIR`. Lokalment il-mudell tal-iżvilupp għandu sens, għax juri l-iżbalji. Għall-produzzjoni d-dokumentazzjoni tal-immaġni tirrakkomanda espliċitament il-mudell tal-produzzjoni. L-estensjonijiet tinstallawhom bl-iskripts ta' għajnuna mogħtija `docker-php-ext-configure`, `docker-php-ext-install` u `docker-php-ext-enable`. Kif jaħdmu t-tags u d-digests tispjegah [Immaġini uffiċjali ta' PHP għal Docker](https://phpsos.de/mt/blog/offizielle-php-docker-images/).

## DDEV: ambjenti lesti għal CMS u frameworks

DDEV jibni fuq Docker u jwaqqaf għal proġett server tal-web, PHP, database u servizzi ta' għajnuna. Il-gwidi ta' bidu mgħaġġel kważi dejjem isegwu l-istess mudell:

```bash
ddev config --project-type=wordpress --docroot=web
ddev start
ddev composer install
ddev launch
```

Bħala tipi ta' proġetti DDEV jaf, fost oħrajn, `wordpress`, `typo3`, `shopware6`, `laravel`, `symfony`, `drupal11`, `magento2` u t-tip ġenerali `php`. Il-verżjoni ta' PHP tistabbilixxuha f'`.ddev/config.yaml`; skont id-dokumentazzjoni huma possibbli verżjonijiet minn 5.6 sa 8.5, l-istandard huwa 8.4:

```yaml
# .ddev/config.yaml (silta)
php_version: "8.3"
webserver_type: nginx-fpm   # alternattiva: apache-fpm
```

B'hekk l-ambjent lokali jikkorrispondi mal-verżjoni live, anki jekk din għadha mhix l-aktar riċenti.

## Żvilupp lokali, stat tal-patches u PHP2Shell

Wara PHP2Shell diversi fornituri tal-pjattaformi indikaw żball tipiku tal-ħsieb. Vercel jenfasizza, skont il-bulletin, li ma jaqbilx aġġornament tal-ambjent lokali ta' żvilupp, tal-kodiċi tal-applikazzjoni jew tal-plugins; deċiżiv huwa r-runtime ta' PHP li verament iservi. Li jkollok lokalment PHP 8.4.27 ma jipproteġix server b'8.4.26.

Bil-maqlub, l-ambjent ta' żvilupp iġib miegħu riskji proprji li jistgħu jgħaddu fil-produzzjoni:

1. **Ini ta' żvilupp fil-produzzjoni:** `display_errors` huwa mixgħul f'`php.ini-development`. Jekk dan il-fajl jasal fuq is-server, il-viżitaturi jaraw mogħdijiet u messaġġi ta' żball. Ara [Itfi l-wiri tal-iżbalji fil-produzzjoni](https://phpsos.de/mt/blog/display-errors-produktion/).
2. **Fajls tat-test minsija:** fajls `phpinfo()`, dumps tad-database jew fajls `.env` b'data ta' aċċess ma jappartjenux fid-deployment.
3. **Servers tal-iżvilupp miftuħa:** `php -S` jew containers b'portijiet ippubblikati fuq kompjuters fin-network.
4. **Immaġini skaduti:** L-immaġini lokali ma jiġux aġġornati waħedhom; wara rilaxx tas-sigurtà ta' PHP l-ambjent tal-iżvilupp għandu jinbena mill-ġdid ukoll, biex it-testijiet jaħdmu bil-verżjoni korretta.

> **Suġġeriment:**
> Stabbilixxu l-verżjoni ta' PHP f'post wieħed, pereżempju fid-Dockerfile jew f'`.ddev/config.yaml`, u biddluha fl-aġġornamenti flimkien mal-konfigurazzjoni tas-server.

## Kif jgħin PHP SOS konkretament?

Fil-[kuntratt ta' manutenzjoni tas-sigurtà](https://phpsos.de/mt/leistungen/security-wartungsvertrag/) niżguraw li l-iżvilupp u t-tħaddim jaqblu flimkien:

- **Tqabbil:** Inqabblu l-verżjoni ta' PHP u l-estensjonijiet tal-ambjenti ta' żvilupp, test u live.
- **Fluss tal-aġġornamenti:** Rilaxxi ġodda ta' PHP jiġu applikati l-ewwel fl-ambjent tat-test, imbagħad live, kull darba b'restart.
- **Verifika tad-deployment:** Nagħtu kas li l-ebda ini ta' żvilupp, fajls tat-test jew data ta' aċċess ma jaslu fuq is-server.
- **Dokumentazzjoni:** Tafu f'kull ħin liema verżjoni taħdem fejn.


## Mistoqsijiet frekwenti

**Nista' nuża s-server tal-web integrat ta' PHP pubblikament?**  
Le. Il-manwal ta' PHP jgħid espliċitament li s-server mibdi b'php -S jservi għall-iżvilupp u m'għandux jintuża f'network pubbliku. Għat-tħaddim jappartjenu PHP-FPM ma' Nginx jew Apache.

**X'inhu DDEV?**  
DDEV hija għodda mibnija fuq Docker li toħloq ambjenti lesti ta' żvilupp għal proġetti PHP. Taf tipi ta' proġetti għal WordPress, TYPO3, Shopware 6, Laravel, Drupal u sistemi oħra.

**Huwa biżżejjed li naġġornaw il-verżjoni lokali ta' PHP?**  
Le. Kontra vulnerabbiltajiet bħal PHP2Shell jgħodd ir-runtime ta' PHP li verament iservi, jiġifieri dak fuq is-server. L-ambjent lokali madankollu għandu jkollu l-istess verżjoni, biex it-testijiet ikunu sinifikanti.

**Liema php.ini nuża lokalment?**  
Lokalment php.ini-development għandu sens, għax juri l-iżbalji. Fil-produzzjoni għandu jintuża php.ini-production. L-immaġini uffiċjali ta' Docker jiġu bit-tnejn bħala mudelli.

## Sorsi

- [Manwal ta' PHP: Server tal-web integrat](https://www.php.net/manual/en/features.commandline.webserver.php)
- [Docker Official Image: PHP](https://hub.docker.com/_/php)
- [DDEV](https://ddev.com/)
