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 →

Composer: bainisteoir pacáistí PHP

Luchtaíonn agus bainistíonn Composer na leabharlanna a bhfuil tionscadail PHP nua-aimseartha tógtha orthu. An té a thuigeann composer.json, composer.lock agus an t-autoloader, seachadann sé ar bhealach inathfhriotail agus níos sábháilte.

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

Go achomair: Is é Composer an bainisteoir pacáistí do PHP. Léann sé ón gcomhad composer.json cé na leabharlanna a theastaíonn ó thionscadal, luchtaíonn sé isteach san fhillteán vendor iad, coimeádann sé na leaganacha cruinne sa composer.lock agus gineann sé autoloader a aimsíonn ranganna go huathoibríoch. Bainistíonn Composer cód d'fheidhmchláir dá bhrí sin, ní an t-ateangaire PHP féin: ní dhúnann nuashonrú Composer leochaileacht i PHP ar nós PHP2Shell.

Cad is Composer ann agus cén fáth a bhfuil sé de dhíth?

Is annamh a bhíonn feidhmchlár PHP inniu comhdhéanta de chód dá chuid féin amháin. Tagann fráma-oibreacha, leabharlanna ríomhphoist, giniúint PDF nó naisc íocaíochta mar phacáistí réidh. Cinntíonn Composer, bainisteoir pacáistí PHP, go dtagann na pacáistí seo le chéile i leaganacha oiriúnacha agus go dtugann gach spleáchas a spleáchais féin leis.

Do lucht cinnteoireachta ciallaíonn sé seo: tagann cuid mhór den chód a ritheann ar do fhreastalaí ó thríú páirtithe. Tá sé seo éifeachtach, ach teastaíonn cúram uaidh. Do riarthóirí agus d'fhorbróirí ciallaíonn sé: an té a úsáideann Composer go glan, is féidir leis a rianú am ar bith cén leagan de cén leabharlann atá ag rith i dtáirgeadh.

De réir dhoiciméadú Composer, is é Packagist.org an fhoinse chaighdeánach do phacáistí. Is féidir foinsí eile, mar shampla stórais inmheánacha gníomhaireachta, a chur isteach sa composer.json faoi repositories.

composer.json, composer.lock agus vendor: na trí bhloc

Oibríonn Composer le trí rud ba cheart a bheith ar eolas agat sula nglacann tú seilbh ar fhreastalaí nó sula gcuireann tú gníomhaireacht i mbun oibre.

Bloc Ábhar An bhfuil sé le bheith sa stór?
composer.json pacáistí inmhianaithe le raonta leaganacha (require, require-dev), rialacha autoload, socruithe tá
composer.lock leaganacha réitithe go beacht de gach pacáiste, na cinn indíreacha san áireamh tá, go sainráite de réir dhoiciméad Composer
vendor/ cód íoslódáilte na bpacáistí agus an t-autoloader a gineadh níl, gintear é le linn na suiteála

Faoi require tá pacáistí a theastaíonn ón bhfeidhmchlár le linn oibriú. Faoi require-dev tá uirlisí d'fhorbairt agus tástáil, mar shampla fráma-oibreacha tástála nó anailís statach. Tá an scaradh seo tábhachtach, mar nach bhfuil aon ghnó ag uirlisí forbartha ar fhreastalaí táirgeachta.

{
    "require": {
        "php": ">=8.3",
        "monolog/monolog": "^3.0"
    },
    "require-dev": {
        "phpunit/phpunit": "^11.0"
    },
    "autoload": {
        "psr-4": { "App\\": "src/" }
    }
}

Roghnaíodh na leaganacha sa sampla mar léiriú amháin. Is as riachtanais do thionscadail a thagann cé na leaganacha atá de dhíth air.

install nó update: an difríocht san oibriú

Tá an dá ordú cosúil le chéile, ach tá iarmhairtí an-difriúla acu.

  • Léann composer install an composer.lock agus suiteálann sé go beacht na leaganacha atá taifeadta ann. Tá sé seo inathfhriotail agus baineann sé leis an seachadadh.
  • Réitíonn composer update gach spleáchas as an nua, faigheann sé na leaganacha oiriúnacha is déanaí agus athscríobhann sé an composer.lock. Baineann sé seo leis an bhforbairt, le tástálacha ina dhiaidh.

De réir dhoiciméadú Composer, ritheann update seiceáil slándála (audit) breise tar éis an comhad lock a scríobh, mura múchtar é le --no-audit. Ní sheiceálann install de réir réamhshocraithe; chuige sin tá an rogha --audit.

Autoloading: conas a aimsíonn Composer ranganna

Gineann Composer an comhad vendor/autoload.php. Nuair a chuimsítear é uair amháin, ní luchtaíonn PHP gach rang ach nuair is gá. Maidir le cód dá chuid féin, socraítear sa chuid autoload cé acu spás ainm atá in cén fhillteán. Moltar PSR-4 chuige sin, caighdeán de chuid PHP-FIG. Míníonn an leathanach Spásanna ainmneacha agus autoloading conas a oibríonn sé go beacht; tugann an leathanach Caighdeáin PSR forbhreathnú ar na caighdeáin go léir.

<?php
require __DIR__ . '/../vendor/autoload.php';

$log = new Monolog\Logger('app');   // luchtaítear go huathoibríoch nuair is gá

Composer i dtáirgeadh: seachadadh glan

Maidir leis an seachadadh, d'éirigh go maith le hord seasta. Is fearr é a rith i bpíblíne tógála agus ní de láimh ar an bhfreastalaí.

  1. An comhad lock a sheiceáil: cinntíonn composer validate go bhfuil composer.json bailí agus go bhfuil an composer.lock cothrom le dáta.
  2. Suiteáil gan pacáistí forbartha: fágann composer install --no-dev require-dev ar lár.
  3. An t-autoloader a bharrfheabhsú: athraíonn --optimize-autoloader (-o mar ghearrfhoirm) na rialacha ina liosta ranganna. Le --classmap-authoritative luchtaíonn PHP ranganna ón liosta seo amháin.
  4. Seiceáil slándála: seiceálann composer audit --locked na leaganacha ón gcomhad lock i gcoinne fógraí slándála aitheanta agus tuairiscíonn sé pacáistí tréigthe.
  5. vendor lasmuigh den webroot: níor cheart ach an t-eolaire poiblí leis an script iontrála a bheith inrochtana trí URL.
composer validate
composer install --no-dev --optimize-autoloader
composer audit --locked --no-dev

Taispeánann composer outdated freisin cé na pacáistí suiteáilte a bhfuil leaganacha níos nuaí acu. Is é seo an bunús le nuashonruithe pleanáilte in ionad gníomhartha aonair deifreacha.

Composer, slándáil agus PHP2Shell

Baineann Composer agus PHP2Shell le dhá leibhéal éagsúla. Tá na leochaileachtaí CVE-2026-109618 agus CVE-2026-109619 san ateangaire PHP féin. Tá siad deisithe i PHP 8.5.12, 8.4.27, 8.3.36 agus 8.2.35, agus ní mór gach próiseas PHP a atosú ina dhiaidh. Ní athraíonn composer update ná pacáiste ar bith i vendor aon rud faoi sin.

Fós féin baineann Composer le gach seiceáil tar éis teagmhais. An té a thugann cód mailíseach ar fhreastalaí, is féidir leis comhaid i vendor a athrú freisin, agus luchtaítear vendor/autoload.php le gach iarratas. Is modh maith é composer install úr ón gcomhad lock seiceáilte isteach in eolaire folamh dá bhrí sin chun an pacáiste a athchóiriú. Déanann an treoir composer audit cur síos ar an gcaoi leis na spleáchais a sheiceáil go rialta le haghaidh leochaileachtaí aitheanta.

Tábhachtach

Ní insíonn composer audit glas rud ar bith faoi staid phaiste PHP. Seiceáil an timpeallacht rite PHP ar leithligh, mar shampla lenár seirbhís paistithe PHP.

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

  • Taifeadaimid do gach feidhmchlár leagan PHP, pacáistí Composer agus staid lock agus déanaimid idirdhealú glan idir an t-ateangaire agus na leabharlanna.
  • Seiceálaimid an n-oireann vendor agus an comhad lock dá chéile agus an bhfuil pacáistí forbartha nó comhaid athraithe i dtáirgeadh.
  • Socraímid seachadadh inathfhriotail le install --no-dev, autoloader bharrfheabhsaithe agus audit.
  • Tar éis teagmhais athchóirímid an pacáiste ón gcomhad lock seiceáilte agus déanaimid an toradh a dhoiciméadú.

Ceisteanna coitianta

An gcaithfidh composer.lock a bheith sa stór Git?

Caithfidh. Molann doiciméadú Composer go sainráite an composer.lock a dhéanamh commit. Ar an mbealach sin amháin suiteálann forbairt, CI agus táirgeadh na leaganacha pacáiste céanna go beacht.

Cad é an difríocht idir composer install agus composer update?

Suiteálann install na leaganacha atá taifeadta sa composer.lock. Réitíonn update na spleáchais as an nua, faigheann sé leaganacha níos nuaí oiriúnacha agus athscríobhann sé an composer.lock. Ar an bhfreastalaí táirgeachta, is le install amháin atá baint.

An ndúnann nuashonrú Composer leochaileacht PHP2Shell?

Ní dhúnann. Bainistíonn Composer leabharlanna do fheidhmchláir, ní an t-ateangaire PHP. Ní dhúntar PHP2Shell ach le nuashonrú ar thimpeallacht rite PHP go leagan deisithe agus atosú gach próiseas PHP.

Cá háit ba cheart don fhillteán vendor a bheith?

Go hidéalach lasmuigh den eolaire gréasáin atá inrochtana go poiblí. Cuireann a lán fráma-oibreacha fillteán public amháin sa webroot, agus vendor leibhéal amháin os a chionn.

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