# mod_php spjegat: PHP fil-proċess ta' Apache

> mod_php spjegat: kif PHP taħdem bħala modulu ta' Apache, kif tagħarfuh, x'għandhom x'jaqsmu prefork u .htaccess miegħu u għaliex php.net ma jirrakkomandahx.

Sors: https://phpsos.de/mt/php/mod-php-erklaert/  
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:** mod_php huwa PHP bħala modulu fis-server tal-web Apache. Kull proċess ta' Apache imbagħad fih interpretatur sħiħ ta' PHP u jesegwixxi l-kodiċi PHP hu stess; l-SAPI tissejjaħ `apache2handler`. Huwa sempliċi biex jiġi stabbilit, imma jorbot lil PHP ma' Apache, normalment jeħtieġ il-prefork MPM u jippermetti kważi l-ebda separazzjoni bejn websajts. Il-manwal ta' PHP ma jirrakkomandahx għal installazzjonijiet ġodda, u ma' PHP2Shell it-tim ta' PHP jikklassifika r-riskju bħala l-ogħla ma' mod_php.

## X'inhu mod_php?

Ma' mod_php, Apache jgħabbi PHP bħala modulu proprju fil-proċessi tiegħu. M'hemm l-ebda servizz separat ta' PHP: meta Apache jrid iwassal fajl `.php`, l-istess proċess li aċċetta t-talba jesegwixxi wkoll il-kodiċi PHP. Għal ħafna snin din kienet it-triq standard biex tħaddem PHP, u għadha mferrxa fuq servers eqdem u f'xi immaġini ta' Docker sal-lum.

Skont il-manwal ta' PHP, bħala modulu tas-server PHP taqra l-konfigurazzjoni tagħha darba biss, meta jinbeda s-server tal-web. Tibdiliet fil-php.ini u aġġornamenti tal-modulu għalhekk isiru effettivi biss wara restart ta' Apache.

Importanti biex wieħed jifhem: il-proċessi ta' Apache jgħixu żmien twil. Proċess jaċċetta ħafna konnessjonijiet wieħed wara l-ieħor qabel ma jiġi sostitwit; kemm, tirregola d-direttiva ta' Apache `MaxConnectionsPerChild`. L-interpretatur integrat ta' PHP jibqa' l-istess matul dan iż-żmien. Min jibdel il-librerija `libphp` fuq id-diska ma jibdel xejn fil-proċessi li jkunu qed jaħdmu.

Għall-maniġment u għar-responsabbli tal-proġetti dan jista' jinġabar hekk: ma' mod_php, is-server tal-web u PHP huma unità waħda. Min imiss waħda, jolqot lill-oħra. Aġġornament ta' PHP ifisser restart tas-server tal-web, żball f'PHP jaħdem bid-drittijiet tas-server tal-web, u separazzjoni bejn diversi websajts fuq l-istess server hija kważi impossibbli.

## Kif jiġi integrat mod_php?

Il-manwal ta' PHP juri l-integrazzjoni f'żewġ passi: jgħabbu l-modulu u jiddefinixxu liema fajls PHP għandha tipproċessa.

```apache
LoadModule php_module modules/libphp.so

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
```

Il-manwal jirrakkomanda `FilesMatch` ma' `SetHandler` minflok `AddType` biss, biex fajls mtellgħa bħal `bild.php.jpg` ma jiġux eżegwiti bħala PHP. Taħt Debian u Ubuntu pakketti bħal `libapache2-mod-php8.3` u l-kmandi `a2enmod` u `a2dismod` jieħdu f'idejhom dan ix-xogħol.

Jekk mod_php huwiex attiv jista' jiġi vverifikat bil-qari biss:

```bash
apachectl -M 2>/dev/null | grep -i php    # Debian/Ubuntu
httpd -M 2>/dev/null | grep -i php        # familja RHEL
apachectl -V | grep -i mpm               # MPM attiv (prefork, worker, event)
```

## Prefork, Thread Safety u riżorsi

Apache jqassam it-talbiet permezz ta' Multi-Processing-Module (MPM). Skont il-manwal ta' PHP, mod_php jeħtieġ il-`prefork` MPM, sakemm PHP ma tkunx inbniet b'Zend Thread Safety (`--enable-zts`). Il-biċċa l-kbira tal-pakketti tad-distribuzzjonijiet huma mibnija mingħajr Thread Safety.

Prefork ifisser: proċess wieħed għal kull konnessjoni simultanja, u kull proċess iġorr interpretatur sħiħ ta' PHP. Anki talbiet għal immaġini jew fajls CSS jokkupaw b'hekk proċess bi PHP fuq dahru. Dan jiswa memorja u jillimita t-tagħbija li server jista' jġorr.

| Karatteristika | mod_php | PHP-FPM |
|---|---|---|
| Fejn taħdem PHP? | f'kull proċess ta' Apache | f'servizz proprju |
| MPM ta' Apache | normalment `prefork` | `event` possibbli |
| Utent għal kull websajt | le, kollox bħala utent ta' Apache | iva, għal kull pool |
| Restart ta' PHP | biss ma' Apache | indipendenti minn Apache |
| Settings għal kull direttorju | `php_value` f'`.htaccess` | pool jew `.user.ini` |

Il-manwal għalhekk jirrakkomanda għall-installazzjonijiet moderni kollha PHP-FPM b'`mod_proxy_fcgi`: ġestjoni aħjar tar-riżorsi, separazzjoni tal-proċessi, restart ta' PHP mingħajr restart ta' Apache u kompatibbiltà mal-`event` MPM, li minn Apache 2.4 huwa l-istandard. Il-bażi tinsab taħt [PHP-FPM spjegat](https://phpsos.de/mt/php/php-fpm-erklaert/).

## Settings b'.htaccess, php_value u php_admin_value

Ma' mod_php, settings ta' PHP jistgħu jiġu ssettjati direttament fil-konfigurazzjoni ta' Apache. Il-manwal jiddistingwi hawnhekk bejn modalitajiet ta' bidla: entrati b'`INI_PERDIR` jistgħu jkunu f'php.ini, `.htaccess` jew `httpd.conf`, entrati b'`INI_SYSTEM` biss f'php.ini jew `httpd.conf`.

```apache
# Fil-konfigurazzjoni tal-VirtualHost: imsakkar għall-applikazzjoni
php_admin_flag  display_errors off
php_admin_value upload_max_filesize 24M

# Possibbli f'.htaccess, imma l-applikazzjoni tista' tissorpassah
php_value max_execution_time 60
```

`php_admin_value` u `php_admin_flag` huma permessi biss fil-konfigurazzjoni tas-server, mhux f'`.htaccess`. Eżattament din id-distinzjoni hija importanti fil-miżuri temporanji dwar PHP2Shell, għax valuri bħal `session.upload_progress.enabled` ma jistgħux jerġgħu jiġu ssettjati mill-applikazzjoni.

## mod_php u PHP2Shell: għaliex ir-riskju huwa l-ogħla

It-tim ta' PHP jikklassifika r-riskju minn PHP2Shell bħala l-ogħla ma' mod_php: hemmhekk intwera exploit qabel ma jibda jaħdem xi kodiċi tal-applikazzjoni. Plugins tas-sigurtà jew verifiki fiċ-CMS b'hekk jaslu tard wisq. Barra minn hekk, ma' mod_php, PHP taħdem bid-drittijiet u fil-memorja tas-server tal-web. Il-klassifikazzjoni dettaljata tinsab taħt [Għaliex mod_php iġorr l-ogħla riskju](https://phpsos.de/mt/php2shell/mod-php-risiko/).

Għall-operaturi għalhekk japplika:

1. Aġġornaw il-modulu ta' PHP għal 8.5.12, 8.4.27, 8.3.36 jew 8.2.35 jew għal backport ikkonfermat.
2. Erġgħu ibdew Apache kompletament, mhux biss reload, u kkontrollaw il-ħin tal-bidu tal-proċessi.
3. Issettjaw valuri temporanji permezz ta' `php_admin_value` fil-konfigurazzjoni tas-server, jekk l-aġġornament ma jkunx possibbli għadu.
4. Wara ppjanaw it-tranżizzjoni għal PHP-FPM, kif deskritt taħt [Assigurar ta' Apache b'mod_php](https://phpsos.de/mt/server/apache-mod-php/).

## Kif jgħin PHP SOS konkretament?

- **Nagħrfu:** Nivverifikaw fuq liema servers jaħdem mod_php, b'liema MPM u minn liema sors tal-pakketti.
- **Nippatchjaw:** Naġġornaw il-modulu ta' PHP, nerġgħu nibdew Apache kompletament u niddokumentaw l-istat.
- **Nassiguraw it-tranżizzjoni:** Fejn l-aġġornament huwa mblokkat, nissettjaw il-miżuri minn php.net b'mod imsakkar fil-konfigurazzjoni tas-server.
- **Nibdlu:** Fil-qafas tal-[tisħiħ tas-server](https://phpsos.de/mt/leistungen/server-haertung/) nimmigraw b'mod ittestjat għal PHP-FPM b'pools proprji.


## Mistoqsijiet frekwenti

**Għaliex jissejjaħ mod_php jekk il-modulu jisimha php_module?**  
mod_php huwa l-isem kollokwjali għal PHP bħala modulu ta' Apache. Fil-konfigurazzjoni jitgħabba b'LoadModule; il-manwal ta' PHP jagħti bħala eżempju LoadModule php_module modules/libphp.so. Verżjonijiet eqdem kienu jużaw ismijiet bħal php7_module jew php5_module.

**Għaliex mod_php jeħtieġ il-prefork MPM?**  
Skont il-manwal ta' PHP, mod_php jeħtieġ il-prefork MPM sakemm PHP ma tkunx inbniet b'Zend Thread Safety. Il-biċċa l-kbira tal-pakketti tad-distribuzzjonijiet huma mibnija mingħajr Thread Safety. Prefork jibda proċess proprju għal kull konnessjoni simultanja, u dan jeħtieġ aktar memorja.

**Linji php_value f'.htaccess jaħdmu wkoll ma' PHP-FPM?**  
Le. php_value u php_flag f'.htaccess huma direttivi ta' Apache tal-modulu ta' PHP u jaħdmu biss ma' mod_php. Taħt PHP-FPM settings bħal dawn jappartjenu fil-pool jew, għal valuri permessi, f'.user.ini.

**Irrid inneħħi mod_php minnufih?**  
L-ewwel jiġi l-aġġornament ta' PHP b'restart sħiħ ta' Apache. Il-bidla għal PHP-FPM wara dan hija raġonevoli, imma għandha tiġi ppjanata u ttestjata. Ma tagħlaqx PHP2Shell, għax PHP-FPM hija wkoll affettwata.

## Sorsi

- [Manwal ta' PHP: Apache 2 taħt Unix](https://www.php.net/manual/en/install.unix.apache2.php)
- [Manwal ta' PHP: Modalitajiet tal-bidla tal-INI](https://www.php.net/manual/en/configuration.changes.modes.php)
- [Dokumentazzjoni ta' Apache](https://httpd.apache.org/docs/)
- [php.net: Avviżi tas-sigurtà](https://www.php.net/)
