Jinsi ya Kusanidi PHP kwenye Ubuntu: Mwongozo Kamili wa Msingi hadi Juu (Ubuntu 22.04 LTS)

目次

1. Utangulizi

Kwa Nini Kutumia PHP kwenye Ubuntu

PHP ni lugha ya maandishi ya upande wa seva inayotumika sana katika programu nyingi za wavuti, ikijumuisha WordPress. Imekuwa ikitumiwa kwa upana katika maendeleo ya wavuti kwa miaka mingi, na idadi kubwa ya majukwaa ya CMS na mifumo ya kazi imejengwa juu ya PHP.

Ubuntu ni usambazaji wa Linux wenye utulivu mkubwa unaotumika na wasanidi programu duniani kote na unafaa hasa kwa mazingira ya seva. Mchanganyiko wa Ubuntu na PHP umepitishwa sana, kuanzia mipangilio ya maendeleo ya kibinafsi hadi mifumo ya uzalishaji ya kiwango cha kampuni.

Hadhira Lengwa na Madhumuni ya Makala Hii

Makala hii imeelekezwa kwa wateja wa aina mbalimbali, kuanzia wanaoanza ambao wanataka kusakinisha PHP kwenye Ubuntu lakini hawajui wapi wa kuanza, hadi watumiaji wa kati ambao wanahitaji kusakinisha matoleo maalum ya PHP. Taratibu zimeelezwa kwa uwazi kadiri iwezekanavyo.

Maelekezo haya yanategemea Ubuntu 22.04 LTS, lakini hatua za msingi zile zile zinatumika kwa matoleo mengine pia.

Unachojifunza

  • Njia za msingi za kusakinisha PHP kwenye Ubuntu
  • Jinsi ya kusakinisha na kubadili kati ya matoleo mengi ya PHP
  • Jinsi ya kuthibitisha uendeshaji wa PHP na kutatua matatizo
  • Usanidi wa muunganiko wa Apache na Nginx
  • Jinsi ya kusakinisha moduli za PHP zinazotumika mara kwa mara

2. Mahitaji ya Awali na Maandalizi

Jinsi ya Kuthibitisha Toleo la Ubuntu Lako

Kwanza, thibitisha ni toleo gani la Ubuntu unalotumia. Njia za usakinishaji wa PHP na moduli zinazoungwa mkono zinaweza kutofautiana kidogo kulingana na toleo la Ubuntu.

Unaweza kuthibitisha toleo la Ubuntu kwa kuendesha amri ifuatayo:

lsb_release -a

Vinginevyo, unaweza kutumia amri hii:

cat /etc/os-release

Makala hii inaelezea taratibu kulingana na Ubuntu 22.04 LTS, lakini hatua hizo kawaida zinatumika kwa Ubuntu 20.04 na 23.10.

Hakikisha Vifurushi vya Mfumo Vinasasishwa

Kabla ya kusakinisha PHP, ni muhimu sana kusasisha vifurushi vyote vya mfumo. Hii husaidia kuzuia matatizo ya utegemezi na migogoro.

sudo apt update
sudo apt upgrade -y

Hii husasisha fahirisi ya vifurushi vya APT na inahakikisha kuwa vifurushi vyote vinaweza kusanikishwa katika matoleo yao ya karibuni yenye utulivu.

Sakinisha Vifaa Vinavyohitajika

Baadhi ya matoleo ya PHP yanahitaji zana za ziada kwa ajili ya kusimamia hazina. Kifurushi software-properties-common kinahitajika ili kuongeza hazina kama vile PPAs.

Kama hakijasakinishwa, kisakinishe kwa kutumia amri ifuatayo:

sudo apt install -y software-properties-common

Kifurushi hiki kinahitajika kwa amri kama add-apt-repository, ambazo hutumika mara nyingi wakati wa kusakinisha matoleo maalum ya PHP kupitia PPA.

Kutumia Ruhusa za Msingi au sudo

Mchakato mwingi unaotolewa katika makala hii unahitaji mabadiliko ya ngazi ya mfumo. Hakikisha unatumia sudo unapotekeleza amri.

3. Jinsi ya Kusanisha PHP

Kuna njia mbili kuu za kusakinisha PHP kwenye Ubuntu. Moja ni kusakinisha kutoka kwa hazina za chaguo-msingi, na nyingine ni kusakinisha toleo maalum kwa kutumia PPA (Personal Package Archive). Kila njia imeelezwa kwa undani hapa chini.

Sakinisha PHP kutoka Hifadhi ya Chaguo-msingi

Ubuntu inatoa toleo la PHP lenye utulivu katika hazina zake za chaguo-msingi. Ikiwa hutaji toleo maalum, hii ndiyo njia rahisi zaidi.

sudo apt install -y php

Baada ya usakinishaji, thibitisha kuwa PHP imesakinishwa kwa usahihi:

php -v

Mfano wa Matokeo:

PHP 8.1.2 (cli) (built: ...)

Kwenye Ubuntu 22.04, PHP 8.1 husakinishwa kwa chaguo-msingi.

Sakinisha Toleo Maalum la PHP kwa Kutumia PPA

Kama unataka kutumia toleo la hivi karibuni la PHP au kudhibiti matoleo mengi, unaweza kuongeza PPA ya ondrej/php.

Hatua ya 1: Ongeza Hifadhi ya PPA

sudo add-apt-repository ppa:ondrej/php
sudo apt update

PPA hii inatumika sana katika jamii ya Ubuntu na inatoa majengo ya utulivu kwa matoleo mengi 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.

Hatua 3: Thibitisha Toleo Lililosakinishwa

php -v

4. Kuthibitisha Uendeshaji wa PHP

Baada ya kusakinisha PHP, thibitisha kwamba inafanya kazi kwa usahihi. Unaweza kuangalia hili kupitia mstari wa amri na kupitia seva ya wavuti kama Apache au Nginx.

Thibitisha kupitia Mstari wa Amri (CLI)

Kwanza, angalia toleo la PHP kutoka kwenye terminal:

php -v

Mfano wa Matokeo:

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

Thibitisha kupitia Seva ya Wavuti (Apache)

Ikiwa Apache imewekwa, unda ukurasa wa majaribio ukitumia kazi ya phpinfo().

1. Unda Faili la Majaribio

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

2. Fikia kupitia Kivinjari

http://localhost/info.php

3. Thibitisha Matokeo

Ikiwa maelezo ya kina ya PHP yanaonyeshwa, PHP inafanya kazi kwa usahihi na Apache.

🔍 Kumbuka: Matokeo ya phpinfo() yana taarifa nyeti. Futa faili baada ya uthibitisho.

sudo rm /var/www/html/info.php

Thibitisha na Nginx + PHP-FPM

Unapotumia Nginx, PHP hushughulikiwa kupitia php-fpm. Ili kuthibitisha ushirikiano sahihi, hakikisha faili za .php zimepangwa vizuri katika faili la usanidi la Nginx, kisha unda faili info.php kama unavyofanya na Apache.

Ikiwa usanidi si sahihi, unaweza kukutana na kosa la 500 au kuona faili likipakuliwa badala ya kutekelezwa. Katika hali kama hizi, pitia upya mipangilio kama fastcgi_pass na include fastcgi-php.conf; katika usanidi wa Nginx.

5. Kusanikisha Moduli za PHP Zinazotumika Mara kwa Mara

Kusanikisha PHP pekee hakutoa utendaji wote. Vipengele vingi vinatolewa kama moduli (viendelezi) tofauti ambazo lazima zisisitwe inapohitajika. Sehemu hii inatambulisha moduli za PHP zinazotumika sana katika maendeleo halisi na uendeshaji.

Moduli za PHP Nini?

Moduli za PHP (pia huitwa viendelezi) zinaongeza uwezo maalum kama uunganishaji wa hifadhidata, usimamizi wa mistari ya herufi za multibyte, usindikaji wa picha, na uchambuzi wa XML.

Moduli zinapatikana kama vifurushi vya APT na zinaweza kusakinishwa kama ifuatavyo:

sudo apt install php-module-name

Ukihitaji kubainisha toleo, tumia muundo kama php8.2-mbstring.

Moduli Kuu za PHP na Matumizi Yake

php-mbstring (Msaada wa Mstari wa Multibyte)

Moduli hii ni muhimu kwa kushughulikia mistari ya herufi za multibyte kama maandishi ya Kijapani. Inakaribia kuwa lazima kwa tovuti za Kijapani na usindikaji wa barua pepe.

sudo apt install php-mbstring

php-mysql (Uunganishaji wa MySQL / MariaDB)

Moduli hii inahitajika wakati wa kuunganisha kwa hifadhidata kama MySQL au MariaDB. Ni muhimu kwa programu kama WordPress.

sudo apt install php-mysql

php-gd (Ushughulikiaji wa Picha)

Moduli hii inatumika kwa kutengeneza, kubadilisha, na kubadilisha ukubwa wa picha, na hutumika sana kwa thumbnails na usindikaji wa picha.

sudo apt install php-gd

php-xml (Ushughulikiaji wa XML)

Moduli hii inahitajika kwa kushughulikia data inayotokana na XML kama RSS feeds na huduma za SOAP. Hutumika sana katika majukwaa ya CMS na muunganiko wa API.

sudo apt install php-xml

php-curl (Mawasiliano ya HTTP)

Moduli hii inaruhusu maombi ya HTTP kutoka kwenye seva, kama vile wakati wa kuunganisha na API za nje. Inahitajika na mifumo mingi ya kisasa.

sudo apt install php-curl

php-zip (Ushughulikiaji wa Faili Zilizo Bomba)

Moduli hii inakuwezesha kutengeneza na kutoa faili za ZIP na hutumika mara nyingi katika vipengele vya kupakia faili.

sudo apt install php-zip

Kuwezesha Moduli na Kurejesha Huduma

Baadhi ya moduli zinahitaji uanzishaji wa wazi baada ya usakinishaji. Tumia phpenmod kuziwezesha.

sudo phpenmod module_name
sudo systemctl restart apache2

Moduli zilizowezeshwa zinaanza kufanya kazi baada ya kurejesha seva ya wavuti.

6. Kusimamia na Kubadilisha Matoleo ya PHP

.

Ubuntu inakuwezesha kusakinisha na kutumia matoleo mengi ya PHP kwenye seva moja. Hii ni muhimu hasa katika mazingira ya maendeleo au seva zinazohifadhi programu nyingi za wavuti.

Sehemu hii inaelezea jinsi ya kubadili matoleo ya PHP kwa CLI na kwa Apache.

Kubadilisha Matoleo ya PHP katika CLI

Amri Iliyotumika: update-alternatives

Unaweza kubadili kwa urahisi toleo la PHP linalotumika katika mstari wa amri kwa kutumia update-alternatives.

Hatua ya 1: Angalia Matoleo ya PHP yaliyosakinishwa

ls /usr/bin/php*

Hatua ya 2: Sajili Matoleo ya PHP (Mara ya Kwanza Tu)

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 PHP

sudo update-alternatives --config php

Utaona menyu ya uchaguzi kama ifuatayo:

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:

Hatua ya 4: Thibitisha Toleo

php -v

Kubadilisha Matoleo ya PHP katika Apache

Unapotumia Apache, matoleo ya PHP husimamiwa kupitia moduli za Apache. Unaweza kubadili matoleo kwa kuwezesha na kuzima moduli.

1. Angalia Moduli Zilizo Available

ls /etc/apache2/mods-available | grep php

2. Zima Moduli Inayotumika Kwa Sasa

sudo a2dismod php7.4

3. Wezesha Toleo Linalotakiwa

sudo a2enmod php8.2

4. Anzisha Upya Apache

sudo systemctl restart apache2

7. Kuunganisha PHP na Apache na Nginx

PHP inakuwa na nguvu sana inapounganishwa na seva ya wavuti. Katika Ubuntu, seva za wavuti zinazotumika zaidi ni Apache na Nginx.

Uunganishaji wa Apache (mod_php)

Apache inaweza kutekeleza maandishi ya PHP moja kwa moja kwa kutumia moduli ya mod_php. Njia hii ni rahisi na inafaa kwa majukwaa ya CMS kama WordPress.

Hatua ya 1: Sakinisha Apache na mod_php

sudo apt install -y apache2 libapache2-mod-php

Hatua ya 2: Anzisha Upya Apache

sudo systemctl restart apache2

Hatua ya 3: Jaribu Utekelezaji wa PHP

<?php
phpinfo();
?>
http://localhost/test.php

Uunganishaji wa Nginx (PHP-FPM)

Nginx haina uwezo wa kutekeleza PHP moja kwa moja. Badala yake, inategemea PHP-FPM (FastCGI Process Manager).

Hatua ya 1: Sakinisha Nginx na PHP-FPM

sudo apt install -y nginx php-fpm

Hatua ya 2: Hariri Usanidi wa Nginx

sudo nano /etc/nginx/sites-available/default
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

8. Utatuzi wa Tatizo

Msimbo wa Chanzo wa PHP Unaonyeshwa kwenye Kivinjari

Sababu

Hii hutokea wakati seva ya wavuti haijachakata faili za PHP ipasavyo.

Suluhisho

  • Apache:
    sudo apt install libapache2-mod-php
    sudo systemctl restart apache2
    
  • Nginx:
    sudo systemctl restart php8.2-fpm
    sudo systemctl restart nginx
    

Kazi za PHP Hazijulikani

Sababu

Moduli za PHP zinazohitajika hazijasakinishwa au hazijawashwa.

Suluhisho

sudo apt install php-mbstring php-xml php-curl
sudo systemctl restart apache2
php -m

Makosa ya PHP Hayajulikani

Suluhisho

sudo nano /etc/php/8.2/apache2/php.ini
display_errors = On
error_reporting = E_ALL
sudo systemctl restart apache2

Maeneo ya Faili za Kumbukumbu

Apache:

/var/log/apache2/error.log

Nginx:

/var/log/nginx/error.log

PHP-FPM:

/var/log/php8.2-fpm.log

9. Muhtasari

.Makala hii imetoa maelezo ya hatua kwa hatua ya jinsi ya kusakinisha PHP kwenye Ubuntu, kutoka misingi hadi mada za juu.

Mambo Muhimu

  • Angalia toleo lako la Ubuntu na sasisha vifurushi
  • Sakinisha PHP kupitia hazina za chaguo-msingi au PPAs
  • Thibitisha PHP kupitia CLI na seva za wavuti
  • Panua utendaji kwa moduli
  • Dhibiti matoleo mengi ya PHP kwa urahisi
  • Unganisha ipasavyo na Apache au Nginx
  • Angalia logi unapokabiliana na matatizo

Hatua Zifuatazo

  • Sakinisha MySQL au MariaDB
  • Sanidi WordPress
  • Tumia mifumo ya PHP kama Laravel
  • Washa HTTPS kwa vyeti vya SSL
  • Dhibiti huduma kwa systemd

Ubuntu na PHP pamoja hutoa mazingira thabiti na yanayobadilika ya maendeleo. Tumia mwongozo huu kama msingi na endelea kupanua ujuzi wako.

10. Maswali Yanayoulizwa Mara kwa Mara (FAQ)

Q1. Nifanyaje kusakinisha toleo jipya la PHP kwenye Ubuntu?

A. Tumia ondrej/php PPA na taja toleo unalotaka.

Q2. Nifanyaje kubadilisha matoleo ya PHP katika CLI?

sudo update-alternatives --config php

Q3. Msimbo wa chanzo wa PHP unaonyeshwa katika Apache.

sudo apt install libapache2-mod-php
sudo systemctl restart apache2

Q4. php.ini iko wapi?

  • Apache: /etc/php/8.2/apache2/php.ini
  • CLI: /etc/php/8.2/cli/php.ini

Q5. Nifanyaje kuwezesha moduli za PHP?

sudo phpenmod mbstring
sudo systemctl restart apache2

Q6. PHP haifanyi kazi na Nginx.

Hakikisha kwamba php-fpm imewekwa na fastcgi_pass imewekwa vizuri.

Q7. Makosa ya PHP hayaonekani.

display_errors = On
error_reporting = E_ALL
侍エンジニア塾