# PHP fuq il-linja tal-kmand (CLI)

> PHP CLI spjegata: differenzi mill-verżjoni tal-web, għażliet importanti bħal -l, -m u --ini, cronjobs, server tal-web integrat u għaliex php -v spiss iqarraq.

Sors: https://phpsos.de/mt/php/php-cli/  
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:** Is-PHP CLI (Command Line Interface) hija l-varjant ta' PHP għal-linja tal-kmand. Teżegwixxi skripts mingħajr server tal-web, pereżempju għal cronjobs, Composer jew kompiti ta' manutenzjoni. Għandha valuri standard proprji, spiss php.ini proprja u kultant saħansitra verżjoni differenti mill-websajt. Għalhekk `php -v` mhuwiex prova affidabbli li l-websajt hija ppatchjata wara PHP2Shell.

## X'inhi l-PHP CLI?

Il-manwal ta' PHP isemmi żewġ oqsma ewlenin ta' użu ta' PHP: skripts għal websajts u skripts fuq il-linja tal-kmand. Għal dan tal-aħħar hemm SAPI proprja bl-isem `cli`. M'għandhiex bżonn la server tal-web u lanqas browser, biss l-interpretatur ta' PHP. Skont il-manwal hija adatta speċjalment għal kompiti li jaħdmu regolarment permezz ta' Cron taħt Linux jew permezz tal-ippjanar tal-kompiti taħt Windows.

Eżempji tipiċi fil-ħajja ta' kuljum tal-kumpanija: importazzjonijiet bil-lejl fil-ħanut, bagħtiet ta' newsletters, tindif ta' caches, aġġornamenti permezz ta' Composer jew l-għodod tal-linja tal-kmand ta' CMS bħal WP-CLI jew il-konsola ta' Symfony. Taħt Windows il-fajl jissejjaħ `php.exe`, il-varjant CGI `php-cgi.exe`.

B'differenza minn PHP-FPM, is-CLI mhijiex servizz. Kull sejħa tibda proċess ġdid, terġa' taqra l-konfigurazzjoni, skont il-manwal, u tintemm meta l-iskrip jispiċċa. Restart wara aġġornament għalhekk mhuwiex meħtieġ. L-eċċezzjonijiet huma proċessi li jaħdmu fit-tul li jinbdew permezz tas-CLI, pereżempju workers tal-queues tal-frameworks jew daemons taħt systemd jew Supervisor. Jaħdmu jiem sħaħ bl-interpretatur mgħobbi darba u jridu jerġgħu jinbdew wara aġġornament ta' PHP eżattament bħal workers tal-web.

Għall-maniġment u għat-tmexxija tal-proġetti dan ifisser: anki kompiti fl-isfond jappartjenu fl-inventarju u f'kull pjan ta' aġġornament.

## Kif tiddifferenzja s-CLI mill-verżjoni tal-web?

Is-CLI, skont il-manwal, tissorpassa xi settings b'mod fiss. Ma jistgħux jinbidlu permezz tal-php.ini, biss waqt it-tħaddim b'`ini_set()`:

| Direttiva | Valur fis-CLI | Raġuni skont il-manwal |
|---|---|---|
| `html_errors` | mitfi | it-tags HTML jiddisturbaw fit-terminal |
| `implicit_flush` | mixgħul | l-output għandu jidher immedjatament |
| `max_execution_time` | 0 (bla limitu) | l-iskripts tal-linja tal-kmand spiss jaħdmu fit-tul |
| `register_argc_argv` | mixgħul | l-iskripts dejjem jirċievu `$argc` u `$argv` |
| `output_buffering` | mitfi | fiss, il-funzjonijiet tal-buffer jibqgħu jistgħu jintużaw |
| `max_input_time` | mitfi | is-CLI ma tafx GET, POST jew uploads |

Differenza oħra: Is-CLI ma tbiddilx id-direttorju għal dak tal-iskrip. Min isejjaħ `php -f ordner/skript.php` minn `/tmp` ikompli jaħdem fi `/tmp`. Mogħdijiet relattivi f'cronjobs għalhekk huma sors komuni ta' żbalji.

Skrip żgħir li għandu jaħdem biss fuq il-linja tal-kmand:

```php
<?php
if (PHP_SAPI !== 'cli') {
    http_response_code(403);
    exit('Nur für die Kommandozeile.');
}
$tage = (int) ($argv[1] ?? 30);
$grenze = time() - $tage * 86400;
$alt = 0;
foreach (glob(__DIR__ . '/cache/*.tmp') ?: [] as $datei) {
    if (filemtime($datei) < $grenze) { $alt++; }
}
fwrite(STDOUT, "Dateien älter als $tage Tage: $alt\n");
```

Il-kontroll ta' `PHP_SAPI` jipprevjeni li skrip ta' manutenzjoni jiġi attivat permezz tal-browser, jekk bi żball jinsab fid-direttorju tal-web. Il-manwal jirrakkomanda espliċitament li l-SAPI tiġi vverifikata hekk minflok ma wieħed joqgħod fuq il-preżenza ta' `$argv`.

## L-għażliet ewlenin tal-PHP CLI

L-għażliet li ġejjin joħorġu mill-ħarsa ġenerali tal-għażliet fil-manwal ta' PHP u huma utli speċjalment għall-amministraturi:

1. **`php -v`** juri n-numru tal-verżjoni tas-CLI.
2. **`php --ini`** juri liema fajls tal-konfigurazzjoni jitgħabbew.
3. **`php -m`** jelenka l-moduli kkompilati u mgħobbija.
4. **`php -i`** isejjaħ `phpinfo()` u jagħti r-riżultat bħala test.
5. **`php -l datei.php`** jivverifika s-sintassi biss (lint). Minn PHP 8.3 anki għal diversi fajls f'daqqa.
6. **`php -r 'code'`** jesegwixxi kodiċi direttament, mingħajr `<?php`.
7. **`php -d name=wert`** issettja setting INI għal din is-sejħa.
8. **`php -n`** jinjora l-php.ini kompletament.
9. **`php --ri name`** juri l-konfigurazzjoni ta' estensjoni.

```bash
php --ini
php -m | grep -i -E "opcache|sodium|pdo"
php --ri session | grep upload_progress
php -l src/Controller.php src/Model.php
```

## Is-server tal-web integrat: għall-iżvilupp biss

Bi `php -S localhost:8000` is-CLI tibda server żgħir tal-web. L-output tal-eżempju fil-manwal isemmi PHP 5.4.0 bħala punt tat-tluq. Il-manwal huwa ċar: is-server iservi għall-iżvilupp, mhuwiex server tal-web sħiħ u m'għandux jaħdem fi netwerks pubbliċi u lanqas fil-produzzjoni. Jekk jaħdem b'mod permanenti fuq server u jintlaħaq minn barra, dan huwa riżultat li għandkom tneħħu.

## CLI, Cron u sigurtà wara PHP2Shell

Ir-rapporti magħrufa dwar PHP2Shell isemmu PHP-FPM, mod_php, php-cgi, FrankenPHP u LiteSpeed bħala modalitajiet tat-tħaddim affettwati. Is-CLI ma tipproċessax talbiet mix-xibka. Għas-sigurtà madankollu hija importanti fi tliet aspetti:

- **Prova żbaljata:** `php -v` juri l-verżjoni tas-CLI. Il-websajt tista' tuża verżjoni oħra, u l-backports tad-distribuzzjonijiet spiss ma jibdlux in-numru murni. Kif tippruvaw l-istat b'mod korrett jinsab taħt [Verifika tal-verżjoni ta' PHP u tal-istat tal-patch](https://phpsos.de/mt/php2shell/php-version-pruefen/) u fl-artikolu [Għaliex php -v juri l-istess numru](https://phpsos.de/mt/blog/php-v-zeigt-alte-nummer/).
- **Persistenza permezz ta' Cron:** L-attakkanti wara intrużjoni jħobbu jużaw cronjobs li jibdew skrip PHP regolarment. Indikazzjonijiet għat-tiftix jagħti [Tagħrfu cronjobs moħbija bħala bieb ta' wara](https://phpsos.de/mt/blog/cronjobs-als-hintertuer/).
- **Istess pakkett:** Is-CLI normalment tiġi mill-istess sors tal-pakketti bħal PHP-FPM u tappartjeni fl-aġġornament.

## Kif jgħin PHP SOS konkretament?

- **Inqabblu l-verżjonijiet:** Inqabblu l-istat tas-CLI u tal-web u nippruvaw liema verżjoni twassal tassew il-websajt tagħkom.
- **Nivverifikaw il-cronjobs:** Nelenkaw il-kompiti ppjanati kollha ta' PHP tal-utenti kollha u nassenjawhom lill-applikazzjonijiet tagħhom.
- **Nassiguraw il-manutenzjoni:** Nneħħu skripts ta' manutenzjoni mid-direttorju tal-web u nissettjaw kontrolli tas-SAPI.
- **Nieħdu ħsieb fit-tul:** Fil-[kuntratt ta' manutenzjoni tas-sigurtà](https://phpsos.de/mt/leistungen/security-wartungsvertrag/) inżommu s-CLI, is-SAPI tal-web u l-cronjobs aġġornati flimkien.


## Mistoqsijiet frekwenti

**php -v juri l-verżjoni tal-websajt tiegħi?**  
Mhux neċessarjament. php -v juri l-verżjoni tal-varjant tal-linja tal-kmand. Il-websajt tista' taħdem permezz ta' verżjoni oħra ta' PHP-FPM jew modulu ta' Apache. Għall-websajt jgħodd l-istat tal-SAPI tal-web, li tiddeterminaw permezz tas-servizz jew ta' fajl ta' verifika għal żmien qasir.

**Għaliex l-iskripts tas-CLI jaħdmu għal żmien bla limitu?**  
Skont il-manwal ta' PHP, is-CLI tissettja max_execution_time b'mod fiss fuq 0, jiġifieri bla limitu, għax l-iskripts fuq il-linja tal-kmand spiss jagħmlu kompiti twal. Id-dewmien jista' jiġi llimitat mill-iskrip innifsu jew minn għodod bħal timeout.

**Nista' nuża s-server tal-web integrat php -S fil-produzzjoni?**  
Le. Il-manwal jiddeskrivih bħala għajnuna għall-iżvilupp, mhux server tal-web sħiħ, u ma jirrakkomandax l-użu f'netwerks pubbliċi u fil-produzzjoni. Għal sistemi live jappartjenu Apache, Nginx jew LiteSpeed bi PHP-FPM quddiemhom.

**OPcache huwa attiv fuq il-linja tal-kmand?**  
B'mod predefinit le. opcache.enable_cli, skont il-manwal, huwa fuq 0. Għal skripts qosra l-cache jgħin ftit xorta waħda, għax kull sejħa hija proċess ġdid.

## Sorsi

- [Manwal ta' PHP: PHP fuq il-linja tal-kmand](https://www.php.net/manual/en/features.commandline.php)
- [Manwal ta' PHP: Differenzi tas-SAPI tas-CLI](https://www.php.net/manual/en/features.commandline.differences.php)
- [Manwal ta' PHP: Għażliet tas-CLI](https://www.php.net/manual/en/features.commandline.options.php)
- [Manwal ta' PHP: Server tal-web integrat](https://www.php.net/manual/en/features.commandline.webserver.php)
