- 1 1. Utangulizi
- 2 2. Mahitaji na Maandalizi
- 3 3. Jinsi ya Kusanisha PHP
- 4 4. Kuthibitisha Uwekaji wa PHP
- 5 5. Kusakinisha Moduli za PHP Zinazotumiwa Sana
- 6 6. Kudhibiti na Kubadili Toleo za PHP
- 7 7. Kusanidi Uunganishaji na Apache na Nginx
- 8 8. Utatuzi wa Tatizo
- 9 9. Hitimisho
- 10 10. Masuala Yanayoulizwa Mara Kwa Mara (FAQ)
- 10.1 Q1. Ninawezaje kusakinisha toleo la hivi karibuni la PHP kwenye Ubuntu?
- 10.2 Q2. Ninawezaje kubadilisha matoleo ya PHP kwenye CLI?
- 10.3 Q3. Apache inaonyesha faili yangu ya PHP kama maandishi ya kawaida badala ya kuiendesha.
- 10.4 Q4. Faili la usanidi wa PHP (php.ini) liko wapi?
- 10.5 Q5. Nifanyeje kuwezesha ugani wa PHP?
- 10.6 Q6. PHP haifanyi kazi vizuri na Nginx. Nini ninapaswa kuangalia?
- 10.7 Q7. Makosa ya PHP hayaonyeshwi kwenye skrini.
1. Utangulizi
Kwa Nini Kutumia PHP kwenye Ubuntu?
PHP ni lugha ya uscripiti ya upande wa seva inayotumika sana katika programu nyingi za wavuti, ikijumuisha WordPress. Imekuwa kiwango cha kawaida katika maendeleo ya wavuti kwa miaka mingi, ikitoa nguvu kwa CMS nyingi na mifumo.
Ubuntu ni usambazaji wa Linux ulio imara sana unaopendwa na wasanidi duniani kote na husaa kwa matumizi ya seva. Mchanganyiko wa Ubuntu na PHP umekubalika sana, kutoka miradi ya kibinafsi hadi mazingira ya uzalishaji ya makampuni.
Makala Hii Imeandaliwa Kwa Nani & Lengo Lake
Mwongozo huu ni kwa kila mtu, kuanzia wanaoanza—ambao wanataka kusakinisha PHP kwenye Ubuntu lakini hawajui wapo—hadi watumiaji wa kati wanaotaka kusakinisha toleo maalum la PHP. Tunatoa maelekezo wazi, ya hatua kwa hatua.
Tunatumia Ubuntu 22.04 LTS kama mazingira ya mfano, lakini hatua hizo kwa ujumla ni sawa kwa matoleo mengine pia.
Unachojifunza Katika Makala Hii
- Njia za msingi za kusakinisha PHP kwenye Ubuntu
- Jinsi ya kusakinisha na kubadili kati ya matoleo mengi ya PHP
- Jinsi ya kuthibitisha PHP inafanya kazi na kutatua matatizo
- Jinsi ya kusanidi muunganisho na Apache au Nginx
- Jinsi ya kusakinisha moduli za PHP zinazotumika mara kwa mara
2. Mahitaji na Maandalizi
Jinsi ya Kuthibitisha Toleo la Ubuntu
Kwanza, thibitisha toleo la Ubuntu unalotumia. Hatua za usakinishaji na moduli za PHP zinazopatikana zinaweza kutofautiana kidogo kulingana na toleo lako la Ubuntu.
Unaweza kuthibitisha toleo la Ubuntu kwa amri hii:
lsb_release -a
Vinginevyo, unaweza kutumia amri ifuatayo:
cat /etc/os-release
Makala hii imejikita kwenye Ubuntu 22.04 LTS, lakini taratibu za msingi pia zinafaa kwa 20.04 na 23.10.
Hakikisha Vifurushi vya Mfumo Vinasasishwa
Kabla ya kusakinisha PHP, ni muhimu kusasisha vifurushi vya mfumo wako hadi matoleo ya hivi karibuni. Hii husaidia kuepuka matatizo ya utegemezi au kutokubaliana. Sasisha kwa kutumia amri zifuatazo:
sudo apt update
sudo apt upgrade -y
Hii inasasisha faharasa ya vifurushi vya APT, kuhakikisha unasakinisha vifurushi vya hivi karibuni.
Sakinisha Vifaa Vinavyohitajika
Unapokusakinisha matoleo fulani ya PHP, utahitaji kifurushi cha software-properties-common ili kuongeza hazina na kusimamia vifurushi. Ikiwa hakijasakinishwa, fanya hivyo kwa:
sudo apt install -y software-properties-common
Kifurushi hiki kinahitajika kwa amri kama add-apt-repository, hasa unapot (Personal Package Archive) kusakinisha matoleo maalum ya PHP.
Kutumia Ruhusa za Mtumiaji Mkuu au Sudo
Hatua nyingi katika makala hii zinahusisha mabadiliko ya mfumo, hivyo utahitaji kutumia sudo pamoja na amri zako. Ikiwa haujui, pitia muhtasari wa msingi wa amri ya sudo kabla ya kuendelea.
3. Jinsi ya Kusanisha PHP
Kuna njia mbili kuu za kusakinisha PHP kwenye Ubuntu: kutumia hazina ya chaguo-msingi, au kubainisha toleo kupitia PPA (Personal Package Archive). Tutapitia njia zote mbili.
Kusanisha PHP Kutoka kwa Hazina ya Chaguo-msingi
Hazina ya chaguo-msingi ya Ubuntu inatoa matoleo thabiti ya PHP. Ikiwa hutaji toleo maalum, tumia tu:
sudo apt install -y php
Baada ya usakinishaji, thibitisha kuwa PHP imesakinishwa kwa usahihi:
php -v
Mfano:
PHP 8.1.2 (cli) (built: ...)
Kwenye Ubuntu 22.04, PHP 8.1 inapatikana kwa chaguo-msingi.
Kusanisha Toleo Maalum kwa Kutumia PPA
Ikiwa unataka PHP ya hivi karibuni au unahitaji kutumia matoleo mengi, unaweza kuongeza PPA ya kuaminika ondrej/php na kubainisha toleo unalotaka.
Hatua ya 1: Ongeza Hazina ya PPA
sudo add-apt-repository ppa:ondrej/php
sudo apt update
Hazina hii inatumika sana katika jamii ya Ubuntu na inatoa matoleo thabiti kwa matoleo yote makuu ya PHP.
Hatua ya 2: Sakinisha Toleo la PHP Unalotaka
Kwa mfano, kusakinisha PHP 8.2:
sudo apt install -y php8.2
Unaweza pia kusakinisha matoleo mengine kama PHP 7.4 au 8.0 kwa njia ile ile.
Hatua ya 3: Thibitisha Toleo Lililosakinishwa
php -v
Ikiwa toleo maalum limesakinishwa kwa mafanikio, litatolewa hapa.
4. Kuthibitisha Uwekaji wa PHP
Mara tu PHP ikiwa imesakinishwa, angalia kuwa inafanya kazi. Kwenye Ubuntu, unaweza kuithibitisha kupitia mstari wa amri (CLI) na pia kupitia seva yako ya wavuti (Apache au Nginx). Hii ndio jinsi:
Kukagua kupitia Mstari wa Amri (CLI)
Onyesha toleo la PHP katika terminal ili kuthibitisha kuwa PHP inafanya kazi:
php -v
Ikiwa unaona toleo la PHP na taarifa za ujenzi, PHP inafanya kazi katika CLI.
Pato la Sampuli:
PHP 8.2.10 (cli) (built: Aug 23 2023 08:12:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies
Kukagua kupitia Seva ya Wavuti (Mfano wa Apache)
Ikiwa unatumia Apache, unda ukurasa wa majaribio na kazi ya phpinfo() ili kuthibitisha PHP inafanya kazi na Apache.
1. Unda Faili la Jaribio
Unda faili ya PHP katika saraka yako ya wavuti ya Apache (kawaida /var/www/html) na:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
2. Angalia katika Kivinjari Chako
Fikia faili katika kivinjari chako. Kwenye mashine yako ya ndani, tembelea:
http://localhost/info.php
3. Pitia Pato
Ikiwa unaona taarifa za kina za PHP, PHP inafanya kazi kupitia Apache.
🔍 Kidokezo: Kwa kuwa
phpinfo()inaweza kuonyesha taarifa nyeti, futa faili yainfo.phpbaada ya kuangalia.
sudo rm /var/www/html/info.php
Kukagua na Nginx + PHP-FPM
Ikiwa unatumia Nginx, PHP inaendesha kupitia php-fpm. Hakikisha Nginx imehifadhiwa kusimamia faili za .php, kisha unda info.php kama hapo juu. Ikiwa unaona hitilafu ya 500 au ombi la kupakua, angalia mipangilio yako ya Nginx, hasa fastcgi_pass na include fastcgi-php.conf;.
5. Kusakinisha Moduli za PHP Zinazotumiwa Sana
Uwekaji msingi wa PHP haujumlishi sifa zote. Nyingi hutolewa kama moduli (upitisho) ambazo lazima zisakinishwe kulingana na mahitaji. Hapa, tunaanzisha moduli muhimu za PHP kwa maendeleo na uzalishaji.
Moduli za PHP ni Nini?
Moduli za PHP (au upitisho) huongeza sifa kama kuunganisha hifadhidata, uchakataji wa kamba nyingi, udhibiti wa picha, au udhibiti wa XML.
Moduli zinapatikana kama vifurushi vya APT na zinaweza kusakinishwa kama hii:
sudo apt install php-[module-name]
Ili kutaja toleo, tumia kitu kama php8.2-mbstring.

Moduli Muhimu za PHP na Matumizi Yao
php-mbstring (Msaada wa Kamba Nyingi)
Inahitajika kwa kushughulikia herufi nyingi kama Kijapani. Muhimu kwa tovuti za Kijapani au uchakataji wa barua pepe.
sudo apt install php-mbstring
php-mysql (Uunganishaji wa MySQL/MariaDB)
Inahitajika kuunganisha na hifadhidata za MySQL au MariaDB. Inahitajika kwa programu kama WordPress zinazotumia hifadhidata.
sudo apt install php-mysql
php-gd (Uchakataji wa Picha)
Inashughulikia uundaji wa picha, ubadilishaji, na kupunguza ukubwa; inatumika kwa kuzalisha skrinshoti au picha ndogo.
sudo apt install php-gd
php-xml (Uchakataji wa XML)
Inahitajika kwa kushughulikia data yenye msingi wa XML kama RSS feeds au SOAP. Inatumika katika CMS na kwa uunganishaji wa API.
sudo apt install php-xml
php-curl (Mawasiliano ya HTTP)
Inatumika kwa kutuma maombi ya HTTP, kama wakati wa kuunganisha na API za nje. Inatumika sana na fremu za kisasa.
sudo apt install php-curl
php-zip (Udhibiti wa Faili za ZIP)
Inashughulikia kubana na kutoa ZIP files; muhimu kwa sifa za kupakia faili.
sudo apt install php-zip
Kuwezesha Moduli na Kuzindua Upya Huduma
Moduli zingine zinahitaji kuwezeshwa wazi baada ya kusakinisha. Tumia phpenmod kama ifuatavyo:
sudo phpenmod [module-name]
sudo systemctl restart apache2
Mabadiliko yanafanya kazi baada ya kuzindua upya seva yako ya wavuti.
6. Kudhibiti na Kubadili Toleo za PHP
Ubuntu inakuruhusu kusakinisha na kutumia toleo nyingi za PHP kwenye seva moja. Hii ni muhimu wakati wa kuweka programu nyingi au kukuza katika mazingira tofauti. Hii ndio jinsi ya kubadili toleo kwenye CLI na na Apache.
Kubadili Toleo za PHP katika CLI
Amri: update-alternatives
Tumia update-alternatives ili kubadili kwa urahisi toleo la PHP linalotumiwa katika CLI.
Hatua ya 1: Orodha ya Matoleo ya PHP yaliyosakinishwa
ls /usr/bin/php*
Hatua ya 2: Sajili Matoleo ya PHP kwa kutumia update-alternatives (Mara ya Kwanza Pekee)
sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.2 82
Hatua ya 3: Chagua Toleo la Kutumia
sudo update-alternatives --config php
Hii inaonyesha skrini ya uchaguzi kama:
There are 2 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/php8.2 82 auto mode
1 /usr/bin/php7.4 74 manual mode
2 /usr/bin/php8.2 82 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Andika nambari ya toleo unalotaka na ubofye Enter.
Hatua ya 4: Thibitisha Toleo
php -v
Kubadilisha Matoleo ya PHP kwa Apache
Kwa Apache, unaweza kuwezesha au kuzima moduli za PHP kulingana na toleo. Hivi ndivyo unavyoweza kuchagua toleo ulilolopendelea:
1. Orodha ya Moduli Zinazopatikana
ls /etc/apache2/mods-available | grep php
2. Zima Moduli ya Sasa
sudo a2dismod php7.4
3. Wezesha Toleo Linalotakiwa
sudo a2enmod php8.2
4. Anzisha upya Apache
sudo systemctl restart apache2
Hii inatekeleza mabadiliko yako kwa CLI na Apache.
7. Kusanidi Uunganishaji na Apache na Nginx
PHP inakuwa na nguvu zaidi inapounganishwa na seva ya wavuti. Katika Ubuntu, kwa kawaida utatumia Apache au Nginx. Hivi ndivyo unavyoweza kuunganisha PHP na zote mbili.
Kusanidi Apache (mod_php)
Kwa Apache, moduli ya mod_php inaruhusu maandishi ya PHP kutekelezwa moja kwa moja. Ni rahisi kusanidi, na inafanya iwe chaguo zuri kwa WordPress na CMS zingine.
Hatua ya 1: Sakinisha Apache na mod_php
sudo apt install -y apache2 libapache2-mod-php
Ukishasakinisha libapache2-mod-php, Apache inaweza kushughulikia faili za PHP.
Hatua ya 2: Anzisha upya Apache
sudo systemctl restart apache2
Hatua ya 3: Jaribu kwa Faili la PHP
Unda faili test.php katika /var/www/html na uangalie kwenye kivinjari chako:
<?php
phpinfo();
?>
URL ya mfano:
http://localhost/test.php
Kusanidi Nginx (PHP-FPM)
Nginx ni nyepesi na haraka, lakini haiwezi kushughulikia PHP moja kwa moja. Utatumia PHP-FPM (FastCGI Process Manager) kwa usaidizi wa PHP.
Hatua ya 1: Sakinisha Nginx na PHP-FPM
sudo apt install -y nginx php-fpm
Hatua ya 2: Hariri Faili la Usanidi la Nginx
Hariri /etc/nginx/sites-available/default (au usanidi wa mwenyeji pepe):
sudo nano /etc/nginx/sites-available/default
Ongeza au sasisha kifungu hiki:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
Hatua ya 3: Anzisha upya Nginx
sudo systemctl restart nginx
Hatua ya 4: Jaribu kwa Faili la PHP
Unda /var/www/html/test.php na uangalie kwenye kivinjari chako, kama ilivyo kwa Apache.
Kumbuka: Mipangilio ya Firewall (Kama Inahitajika)
Kama unatumia UFW (Uncomplicated Firewall), ruhusu ufikiaji kwa:
sudo ufw allow 'Apache Full'
# or
sudo ufw allow 'Nginx Full'
Apache ni rahisi kusanidi, wakati Nginx inatoa utendaji wa juu. Chagua inayofaa zaidi na hakikisha uunganishaji wa PHP umesanidiwa kwa usahihi.
8. Utatuzi wa Tatizo
Wakati mwingine PHP inaweza kutofanya kazi kama inavyotarajiwa, hata baada ya usakinishaji na uunganishaji wa seva. Sehemu hii inashughulikia matatizo ya kawaida, sababu zake, na suluhisho.
PHP Haifanyi Kazi (Msimbo wa Chanzo Unaonyeshwa kwenye Kivinjari)
Sababu
Hii hutokea wakati Apache au Nginx inatoa faili la PHP kama maandishi tu badala ya kulichakata. Moduli ya PHP au mipangilio ya FastCGI inaweza isijasanidiwa ipasavyo.
Suluhisho
- Kwa Apache: Hakikisha
libapache2-mod-phpimewekwa na imewezeshwa, kisha anzisha upya Apache.sudo apt install libapache2-mod-php sudo systemctl restart apache2
- Kwa Nginx: Angalia kwamba
php-fpmimesakinishwa na kwamba usanidi wa Nginx unafastcgi_passsahihi na mipangilio.sudo systemctl restart php8.2-fpm sudo systemctl restart nginx
Baadhi ya Vipengele vya PHP Visivyofanya Kazi (Functions Undefined)
Sababu
Hii kwa kawaida hutokana na kwamba moduli ya PHP inayohitajika haijasakinishwa au kuwezeshwa.
Suluhisho
- Sakinisha moduli zinazohitajika, kama vile
mbstring,xml, aucurl:sudo apt install php-mbstring php-xml php-curl
- Baada ya kuwezesha moduli, anza upya seva yako ya wavuti.
sudo systemctl restart apache2 # or nginx
- Angalia moduli zilizo nawezeshwa kwa:
php -m
Makosa ya PHP Hayajawasilishwa
Sababu
Kwa chaguo-msingi, ujumbe wa makosa ya PHP unaweza kuwa umezimwa.
Suluhisho
Hariri php.ini na ubadilishe mipangilio ya kuonyesha makosa:
sudo nano /etc/php/8.2/apache2/php.ini
Tafuta na weka yafuatayo:
display_errors = On
error_reporting = E_ALL
Kisha anza upya seva yako ya wavuti:
sudo systemctl restart apache2
Jinsi ya Kuangalia Rekodi za Makosa
Kwa Apache:
/var/log/apache2/error.log
Kwa Nginx:
/var/log/nginx/error.log
Kwa PHP-FPM (na Nginx):
/var/log/php8.2-fpm.log
Angalia rekodi hizi kwa utatuzi wa matatizo:
sudo tail -f /var/log/apache2/error.log
Mnapotokea makosa, kumbuka: Angalia rekodi → Pitia usanidi → Anza upya seva. Kaa tulivu na tatua tatizo hatua kwa hatua.
9. Hitimisho
Hii makala imeeleza—kutoka misingi hadi hatua za hali ya juu—jinsi ya kusakinisha PHP kwenye Ubuntu. Hapa kuna pointi kuu na hatua zinazofuata za kuchunguza.
Muhtasari wa Pointi Kuu
- Angalia Toleo la Ubuntu na Tayari Kuangalia toleo la OS yako na kusasisha pakiti ni muhimu kwa usakinishaji wa PHP unaoelekea.
- Njia Mbili za Kusakinisha PHP Sakinisha kwa urahisi kutoka kumbukumbu ya chaguo-msingi, au tumia PPA kwa matoleo maalum.
- Thibitisha Baada ya Kusakinisha Tumia
php -vnaphpinfo()kuangalia PHP katika muktadha wa CLI na wavuti. - Panua Uwezo kwa Moduli Sakinisha moduli zinazotumiwa sana kama
php-mbstringnaphp-mysqlkulingana na mahitaji. - Badilisha Kati ya Matoleo Mengi Dhibiti matoleo kwa urahisi kwa kutumia
update-alternativesau kubadilisha moduli ya Apache. - Uunganisho Sahihi na Apache/Nginx Usanidi unaofaa na seva yako ya wavuti iliyochaguliwa huhakikisha uendeshaji thabiti.
- Angalia Rekodi kwa Utatuzi wa Matatizo Ikiwa PHP haionyeshi au haifanyi kazi vizuri, kupitia rekodi za makosa ni hatua ya kwanza yenye ufanisi zaidi.
Hatua Zinazofuata za Kujifunza
Baada ya kusakinisha PHP kwenye Ubuntu, unaweza kutaka kuzama zaidi na mada hizi zinazohusiana:
- Kusakinisha MySQL (MariaDB) na Kuunganisha Hifadhi za Data
- Kusakinisha na Kuweka WordPress
- Kutumia Mifumo ya PHP Kama Laravel
- Kuwezesha HTTPS (Kuweka Vyeti vya SSL na Let’s Encrypt)
- Kudhibiti Kuanza Otomatiki na Kurudia (Kutumia systemd)
Kwa hizi, unaweza kujenga huduma na programu za wavuti zenye hali ya juu zaidi. Ubuntu na PHP pamoja hutoa mazingira thabiti, yanayoweza kubadilika ya maendeleo ya chanzo huria. Tumia makala hii kama msingi wako wa kupanda hadi miradi mipya!
10. Masuala Yanayoulizwa Mara Kwa Mara (FAQ)
FAQ hii inashughulikia vizuizi vya kawaida na masuala ambayo watumiaji mara nyingi hutafuta wakati wa kusakinisha au kuweka PHP kwenye Ubuntu. Majibu yanahifadhiwa rahisi na ya vitendo, hata kwa wanaoanza.
Q1. Ninawezaje kusakinisha toleo la hivi karibuni la PHP kwenye Ubuntu?
A1.
Toleo la hivi karibuni la PHP halipatikani kila wakati katika kumbukumbu ya chaguo-msingi ya Ubuntu. Ongeza PPA ya kuaminika ondrej/php, kisha sakinisha toleo unalotaka.
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2
Q2. Ninawezaje kubadilisha matoleo ya PHP kwenye CLI?
A2.
Ikiwa una matoleo mengi yaliyosakinishwa, tumia update-alternatives kubadilisha kati yao.
sudo update-alternatives --config php
Ingiza nambari kwa toleo unalopendelea kutoka orodha inayoonyeshwa.
Q3. Apache inaonyesha faili yangu ya PHP kama maandishi ya kawaida badala ya kuiendesha.
A3.
Hii ina maana Apache haijachakata PHP—inaichapisha kama maandishi tu. Hakikisha moduli ya libapache2-mod-php imewezeshwa na uanzishe upya Apache:
sudo apt install libapache2-mod-php
sudo systemctl restart apache2
Q4. Faili la usanidi wa PHP (php.ini) liko wapi?
A4.
Zipo faili tofauti kwa matumizi ya CLI na seva ya wavuti. Maeneo ya kawaida ni:
- Kwa Apache:
/etc/php/8.2/apache2/php.ini - Kwa CLI:
/etc/php/8.2/cli/php.ini
Sehemu ya “8.2” hubadilika kulingana na toleo lako la PHP.
Q5. Nifanyeje kuwezesha ugani wa PHP?
A5.
Baada ya kusakinisha, wezesha moduli kwa kutumia phpenmod:
sudo phpenmod mbstring
sudo systemctl restart apache2
Anzisha upya seva yako ya wavuti baada ya kuwezesha.
Q6. PHP haifanyi kazi vizuri na Nginx. Nini ninapaswa kuangalia?
A6.
Nginx inahitaji php-fpm kuchakata PHP. Hakikisha usanidi wako unaingiza kipengele sahihi cha fastcgi_pass:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
Rekebisha sehemu ya .sock kulingana na toleo lako la PHP.
Q7. Makosa ya PHP hayaonyeshwi kwenye skrini.
A7.
Katika php.ini, display_errors inaweza kuwekwa Off. Kwa maendeleo, unaweza kuiwezesha hivi:
display_errors = On
error_reporting = E_ALL
Anzisha upya seva yako ya wavuti baada ya kufanya mabadiliko.
Maswali haya ya mara kwa mara yatakusaidia kuepuka matatizo ya kawaida unapotumia PHP kwenye Ubuntu. Hifadhi maarifa haya kwa urahisi ili kutatua matatizo kwa ufanisi!



