An cás reatha: PHP2Shell. Ceadaíonn dhá leochaileacht chriticiúla PHP (CVSS 9.2) cód mailíseach gan logáil isteach. Paistí ar fáil ón 21 Deireadh Fómhair 2026.Cad atá le déanamh anois →

PHP ar an líne ordaithe (CLI)

Ritheann PHP CLI scripteanna gan freastalaí gréasáin, mar shampla do chronjobs agus cothabháil. Iompraíonn sé ar bhealach difriúil ón leagan gréasáin agus is minic nach dtaispeánann sé an staid a úsáideann do shuíomh gréasáin.

Staid Am léitheoireachta: 5 nóim.Eolas PHP

Go achomair: Is é PHP CLI (Command Line Interface) an leagan de PHP don líne ordaithe. Ritheann sé scripteanna gan freastalaí gréasáin, mar shampla do chronjobs, Composer nó tascanna cothabhála. Tá réamhshocruithe dá chuid féin aige, php.ini dá chuid féin go minic agus uaireanta fiú leagan eile ná an suíomh gréasáin. Dá bhrí sin ní cruthúnas iontaofa é php -v go bhfuil an suíomh gréasáin paistithe tar éis PHP2Shell.

Cad is PHP CLI ann?

Luann lámhleabhar PHP dhá phríomhréimse úsáide de PHP: scripteanna do shuíomhanna gréasáin agus scripteanna ar an líne ordaithe. Don dara ceann tá SAPI ar leith ann dar ainm cli. Níl freastalaí gréasáin ná brabhsálaí de dhíth air, ach an t-ateangaire PHP amháin. De réir an lámhleabhair, tá sé oiriúnach go háirithe do thascanna a ritheann go rialta trí Cron faoi Linux nó trí phleanálaí na dtascanna faoi Windows.

Samplaí tipiciúla i saol laethúil cuideachta: allmhairí san oíche sa siopa, seoladh nuachtlitreacha, taisceanna a ghlanadh, nuashonruithe trí Composer nó uirlisí líne ordaithe de chuid CMS ar nós WP-CLI nó consól Symfony. Faoi Windows is php.exe an comhad, agus php-cgi.exe an leagan CGI.

Murab ionann agus PHP-FPM, ní seirbhís é an CLI. Tosaíonn gach glao próiseas nua, léann sé an chumraíocht as an nua de réir an lámhleabhair agus críochnaíonn sé nuair a bhíonn an script réidh. Dá bhrí sin níl gá le hatosú tar éis nuashonraithe. Is eisceachtaí iad próisis fhada a thosaítear trí CLI, mar shampla oibrithe scuaine de chuid fráma-oibreacha nó deamhain faoi systemd nó Supervisor. Ritheann siad ar feadh laethanta leis an ateangaire a luchtaíodh uair amháin agus ní mór iad a atosú tar éis nuashonraithe PHP díreach mar a atosaítear oibrithe gréasáin.

Do bhainistíocht agus do cheannaireacht tionscadail ciallaíonn sé seo: ba cheart tascanna sa chúlra a bheith sa fhardal agus i ngach plean nuashonraithe freisin.

Conas a bhfuil an CLI difriúil ón leagan gréasáin?

Forscríobhann an CLI roinnt socruithe go seasta de réir an lámhleabhair. Ní féidir iad a athrú trí php.ini, ach amháin le linn an ama rite le ini_set():

Treoir Luach sa CLI Cúis de réir an lámhleabhair
html_errors as cuireann clibeanna HTML isteach ar an teirminéal
implicit_flush air ba cheart go dtaispeánfaí aschuir láithreach
max_execution_time 0 (gan teorainn) ritheann scripteanna líne ordaithe go fada go minic
register_argc_argv air faigheann scripteanna $argc agus $argv i gcónaí
output_buffering as gaolta go docht, fanann feidhmeanna maolánaithe in úsáid
max_input_time as níl aon GET, POST ná uaslódálacha ag an CLI

Difríocht eile: ní athraíonn an CLI go dtí eolaire an script. Má ghlaonn tú php -f ordner/skript.php ó /tmp, leanann tú ag obair in /tmp. Is foinse earráide choitianta iad cosáin choibhneasta i gcronjobs dá bhrí sin.

Script beag nár cheart a rith ach ar an líne ordaithe:

<?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");

Cuireann an seiceáil ar PHP_SAPI cosc ar script cothabhála a spreagadh tríd an mbrabhsálaí, má tá sé san eolaire gréasáin de thaisme. Molann an lámhleabhar go sainráite an SAPI a sheiceáil ar an mbealach seo seachas brath ar $argv a bheith ann.

Na roghanna is tábhachtaí de PHP CLI

Tagann na roghanna seo ón bhforbhreathnú roghanna de lámhleabhar PHP agus tá siad úsáideach go háirithe do riarthóirí:

  1. php -v taispeánann sé uimhir leagain an CLI.
  2. php --ini taispeánann sé cé na comhaid cumraíochta atá luchtaithe.
  3. php -m liostaíonn sé na modúil tiomsaithe agus luchtaithe.
  4. php -i glaonn sé phpinfo() agus aschuireann sé an toradh mar théacs.
  5. php -l datei.php ní sheiceálann sé ach an chomhréir (lint). Ó PHP 8.3 do roinnt comhad ag an am céanna freisin.
  6. php -r 'code' ritheann sé cód go díreach, gan <?php.
  7. php -d name=wert leagann sé socrú INI síos don ghlao seo.
  8. php -n déanann sé neamhaird iomlán ar php.ini.
  9. php --ri name taispeánann sé cumraíocht eisínteachta.
php --ini
php -m | grep -i -E "opcache|sodium|pdo"
php --ri session | grep upload_progress
php -l src/Controller.php src/Model.php

An freastalaí gréasáin comhtháite: le haghaidh forbartha amháin

Le php -S localhost:8000 tosaíonn an CLI freastalaí gréasáin beag. Luann aschur samplach an lámhleabhair PHP 5.4.0 mar thúsphointe. Tá an lámhleabhar soiléir: tá an freastalaí le haghaidh forbartha, ní freastalaí gréasáin iomlán é, níor cheart é a rith i líonraí poiblí ná i dtáirgeadh. Má ritheann sé go buan ar fhreastalaí agus go bhfuil sé inrochtana ón taobh amuigh, is toradh é a chaithfidh tú a réiteach.

CLI, Cron agus slándáil tar éis PHP2Shell

Luann na tuarascálacha aitheanta faoi PHP2Shell PHP-FPM, mod_php, php-cgi, FrankenPHP agus LiteSpeed mar mhodhanna oibriúcháin a ndéantar difear dóibh. Ní phróiseálann an CLI iarratais ón líonra. Fós féin, tá sé tábhachtach don tslándáil ar thrí bhealach:

Conas a chabhraíonn PHP SOS go praiticiúil?

  • Leaganacha a chur i gcomparáid: Cuirimid staid CLI agus staid ghréasáin i gcomparáid agus cruthaímid cén leagan a sheachadann do shuíomh gréasáin i ndáiríre.
  • Cronjobs a sheiceáil: Liostaímid gach tasc PHP pleanáilte de gach úsáideoir agus cuirimid i gcomhthéacs a bhfeidhmchláir iad.
  • Cothabháil a chosaint: Bogaimid scripteanna cothabhála amach as an eolaire gréasáin agus leagaimid seiceálacha SAPI síos.
  • Cúram buan: Sa chonradh cothabhála slándála coinnímid CLI, SAPI gréasáin agus cronjobs cothrom le dáta le chéile.

Ceisteanna coitianta

An dtaispeánann php -v leagan mo shuímh gréasáin?

Ní gá. Taispeánann php -v leagan an leagain líne ordaithe. Féadfaidh an suíomh gréasáin rith trí leagan eile de PHP-FPM nó trí mhodúl Apache. Do shuíomh gréasáin is tábhachtach staid an SAPI gréasáin, a bhfaighidh tú amach tríd an tseirbhís nó trí chomhad seiceála sealadach.

Cén fáth a ritheann scripteanna CLI gan teorainn ama?

De réir lámhleabhar PHP, socraíonn an CLI max_execution_time go seasta ar 0, is é sin gan teorainn, mar go ndéanann scripteanna ar an líne ordaithe tascanna fada go minic. Is féidir an t-am rite a theorannú tríd an script féin nó trí uirlisí ar nós timeout.

An bhfuil cead agam an freastalaí gréasáin comhtháite php -S a úsáid i dtáirgeadh?

Níl. Déanann an lámhleabhar cur síos air mar chabhair le haghaidh forbartha, ní mar fhreastalaí gréasáin iomlán, agus comhairlíonn sé gan é a úsáid i líonraí poiblí ná i dtáirgeadh. Do chórais bheo, bíonn Apache, Nginx nó LiteSpeed le PHP-FPM os a chomhair.

An bhfuil OPcache gníomhach ar an líne ordaithe?

Níl de réir réamhshocraithe. Tá opcache.enable_cli ar 0 de réir an lámhleabhair. I gcás scripteanna gearra, is beag an tairbhe a bhaineann leis an taisce ar aon nós, mar is próiseas nua é gach glao.

Foinsí

Teagmháil láithreach

Cuireann gach uair an chloig leis. Scríobh chugainn anois.

Déan cur síos gearr ar an gcóras, leagan PHP agus an rud a thug tú faoi deara. Cuirfimid scéala chugat, soiléireoimid an cás agus oibreoimid go cianda go dtí go mbeidh an teagmhas dúnta agus doiciméadaithe.

Cabhair láithreach