Kusakinisha Programu ya PHP kwenye cPanel Bila Kukoma
Upangishaji wa pamoja bado ndipo programu nyingi za biashara zinaishi. Hii ni taratibu ya utekezaji inayoweka tovuti mtandaoni wakati wa matoleo.
Biashara nyingi ndogo na za kati hufanya kazi kwenye upangishaji wa pamoja na cPanel, na hilo halitabadilika usiku kwa wiki. Changamoto ni kusakinisha masasisho bila kuondoa tovuti mtandaoni au, mbaya zaidi, kuacha programu iliyosahihishwa kwa nusu nyuma.
Tatizo la kupakia faili zilizopo
Kunakilia faili moja kwa moja kwenye public_html inamaanisha wageni wanaweza kupakia ukurasa unaochanganya templeti mpya na msimbo wa zamani. Kama toleo lako linajumuisha uhamishaji wa hifadhidata, dirisha ambapo msimbo wa zamani unakutana na mpango mpya ni hasa wakati vitu vinapovunjika.
Mbinu ya saraka ya matoleo
Weka matoleo nje ya mzizi wa hati na ubadilishe kiungo:
/home/user/
├── apps/
│ ├── releases/
│ │ ├── 2026-09-14-1015/
│ │ └── 2026-10-02-0940/
│ └── current -> releases/2026-10-02-0940
└── public_html -> apps/current/public
Pakia toleo jipya kwenye saraka safi ya matoleo, kisha geuza kiungo. Mabadiliko ni ya atomiki, hivyo hakuna ombi linaloona hali iliyochanganywa.
ln -sfn /home/user/apps/releases/2026-10-02-0940 /home/user/apps/current-new
mv -T /home/user/apps/current-new /home/user/apps/current
Fanya programu ijue mazingira
Usiwahi kuhifadhi faili za .env au nywila kwenye toleo. Weka faili moja ya usanidi nje ya mzizi wa wavuti na uiunge kwenye toleo:
ln -sfn /home/user/apps/shared/.env /home/user/apps/current/.env
Endesha uhamishaji kabla ya kugeuza kiungo
Mpangilio unamaanisha: hamisha hifadhidata kwanza, kisha badilisha trafiki. Kwa mabadiliko ya mpango yasiyo na kukoma, ongeza safu zilizoweza kuwa tupu zenye chaguomsingi, sakinisha msimbo unaozitumia, jaza kwa makundi, na ndipo weke vikomo.
ALTER TABLE invoices ADD COLUMN reference VARCHAR(40) NULL;
Weka tovuti kwenye hali ya matengenezo kwa dirisha la uhamishaji
Matoleo mengi hayaihitaji, lakini uhamishaji hufanya. Toa ukurasa tuli wa matengenezo kutoka ngazi ya seva ya wavuti, ruhusu IP yako mwenyewe, na uwe mfupi.
# .htaccess
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^203\.0\.113\.10$
RewriteCond %{REQUEST_URI} !maintenance\.html$
RewriteRule .* /maintenance.html [R=503,L]
Weka matoleo matatu ya mwisho
Kama toleo linajisikia vibaya, kugeuza kiungo nyuma ni kurudi nyuma kwa sekunde kumi — mradi saraka ya toleo la awali bado ipo.
Weka kiotomatiki
Hivi vyote vinaweza kuendeshwa kutoka hook ya Git post-receive au hati ndogo ya utekezaji kupitia SSH. Taratibu ni: pakua, sakinisha utegemezi, endesha uhamishaji, onyesha kache, geuza kiungo, anzisha foleni, kagua afya, na urudi nyuma kiotomatiki kama ukaguzi wa afya unashindwa.
Utekelezaji unapaswa kuwa sehemu isiyo ya kusisimua zaidi ya wiki yako. Inapokuwa rahisi, inafanya kazi.