Ubuntu मा PHP स्थापना गर्ने तरिका | संस्करण निर्दिष्ट, मोड्युल सेटिङ, वेब सर्वर एकीकरण सम्म पूर्ण व्याख्या

目次

1. परिचय

Ubuntu मा PHP प्रयोग गर्ने कारणहरू

PHP एक सर्वर-साइड स्क्रिप्ट भाषा हो जसलाई वर्डप्रेस जस्ता धेरै वेब एप्लिकेसनहरूमा प्रयोग गरिन्छ। विशेष गरी वेब विकासमा लामो समयदेखि व्यापक रूपमा प्रयोग भइरहेको छ, र धेरै CMS र फ्रेमवर्कहरू PHP मा निर्माण गरिएका छन्। Ubuntu एक स्थिरता उच्च भएको लिनक्स डिस्ट्रीब्युसन हो जसलाई विश्वभरका विकासकर्ताहरूले प्रयोग गर्छन्, र सर्वर उद्देश्यका लागि पनि अत्यन्त उपयुक्त छ। Ubuntu र PHP को संयोजन व्यक्तिगत विकासदेखि कम्पनीको उत्पादन वातावरणसम्म व्यापक रूपमा प्रयोग गरिन्छ।

यो लेखको लक्षित पाठकहरू र उद्देश्य

यो लेखमा, “Ubuntu मा PHP स्थापना गर्न चाहन्छु तर कहाँबाट सुरु गर्ने थाहा छैन” भन्ने शुरुआतीहरूदेखि, “विशिष्ट PHP संस्करण स्थापना गर्न चाहन्छु” भन्ने मध्यवर्तीहरूसम्मलाई लक्षित गर्दै, सकेसम्म सरल रूपमा चरणहरूको व्याख्या गरिनेछ। प्रयोग गरिने Ubuntu को संस्करण 22.04 LTS लाई आधार मानिएको छ, तर अन्य संस्करणहरूमा पनि मूल रूपमा समान चरणहरू पालन गर्न सकिन्छ।

यो लेखबाट बुझ्न सकिने कुराहरू

यो लेख पढेर, निम्न सामग्रीहरू बुझ्न र अभ्यास गर्न सकिन्छ।
  • Ubuntu मा PHP को आधारभूत स्थापना विधि
  • एकभन्दा बढी संस्करणका PHP स्थापना गर्ने र स्विच गर्ने विधि
  • PHP को कार्य सत्यापन र समस्या समाधान विधि
  • Apache वा Nginx सँगको सहकार्य सेटिङ
  • सामान्यतया प्रयोग हुने PHP मोड्युलहरूको स्थापना विधि

2. पूर्वशर्तहरू र तयारी

Ubuntu को संस्करण जाँच्ने तरिका

पहिले, आफूले प्रयोग गरिरहेको Ubuntu को संस्करण जाँच्नुहोस्। PHP को स्थापना विधि र समर्थित मोड्युलहरू Ubuntu को संस्करण अनुसार केही फरक हुन सक्छन्। निम्न कमान्ड चलाएर Ubuntu को संस्करण जाँच्न सकिन्छ।
lsb_release -a
वा, निम्न कमान्डले पनि संस्करण जानकारी प्राप्त गर्न सकिन्छ।
cat /etc/os-release
यो लेखमा, Ubuntu 22.04 LTS लाई आधार मानेर व्याख्या गरिनेछ, तर २०.०४ वा २३.१० मा पनि आधारभूत चरणहरू समान छन्।

प्रणालीका प्याकेजहरूलाई अद्यावधिक राख्नुहोस्

PHP स्थापना गर्नु अघि, प्रणालीभित्रका प्याकेजहरूलाई अद्यावधिक अवस्थामा राख्नु धेरै महत्वपूर्ण छ। पुराना निर्भरता वा असंगतिहरूबाट बच्न, पहिले निम्न कमान्डले अपडेट गर्नुहोस्।
sudo apt update
sudo apt upgrade -y
यसले APT प्याकेज व्यवस्थापकको सूचकांक अद्यावधिक हुन्छ, र नवीनतम अवस्थामा विभिन्न प्याकेजहरू स्थापना गर्न सकिन्छ।

आवश्यक उपयोगिताहरूको स्थापना

केही PHP संस्करणहरू स्थापना गर्दा, रिपोजिटरी थप्न वा प्याकेज व्यवस्थापन गर्न “software-properties-common” नामक प्याकेज आवश्यक हुन्छ। यदि यो स्थापित छैन भने, निम्न कमान्डले पहिले स्थापना गर्नुहोस्।
sudo apt install -y software-properties-common
यो प्याकेज add-apt-repository कमान्ड आदि प्रयोग गर्दा आवश्यक हुन्छ। विशेष गरी PPA (Personal Package Archive) प्रयोग गरेर PHP को विशिष्ट संस्करण स्थापना गर्दा उपयोगी हुन्छ।

रूट अधिकार वा sudo को प्रयोग

यो लेखमा प्रस्तुत गरिएका धेरै सञ्चालनहरू प्रणाली परिवर्तन समावेश गर्दछन्, त्यसैले sudo थपेर कमान्ड चलाउन आवश्यक छ। दैनिक प्रयोगमा अभ्यस्त नभएका व्यक्तिहरूले sudo कमान्डको आधारभूत प्रयोग पनि जाँच्नु राम्रो हुन्छ।

3. PHP को स्थापना विधि

Ubuntu मा PHP स्थापना गर्ने विधि दुई मुख्य प्रकारका छन्। एउटा भनेको मानक रिपोजिटरीबाट स्थापना गर्ने विधि हो, अर्को भनेको PPA (Personal Package Archive) प्रयोग गरेर मनचाहिने संस्करण निर्दिष्ट गरेर स्थापना गर्ने विधि हो। यहाँ हामी प्रत्येक विधिको चरणहरूलाई विस्तारमा प्रस्तुत गर्दछौं।

मानक रिपोजिटरीबाट PHP स्थापना गर्ने

Ubuntu को मानक रिपोजिटरीमा स्थिर संस्करणको PHP उपलब्ध छ। यदि तपाईंलाई विशेष संस्करणमा जोड नभएको अवस्था भएमा, निम्न चरणहरू अनुसार सजिलै स्थापना गर्न सकिन्छ।
sudo apt install -y php
स्थापना सम्पन्न भएपछि, निम्न कमान्ड प्रयोग गरेर PHP सही रूपमा स्थापित भएको छ वा छैन जाँच गर्नुहोस्।
php -v

उदाहरण:

PHP 8.1.2 (cli) (built: ...)
Ubuntu 22.04 को हकमा, मानक रूपमा प्रदान गरिएको PHP 8.1 हो।

PPA प्रयोग गरेर विशिष्ट संस्करण स्थापना गर्ने

यदि तपाईंलाई ‘नवीनतम PHP प्रयोग गर्न चाहनुहुन्छ’ वा ‘एकभन्दा बढी संस्करणहरू प्रयोग गर्न चाहनुहुन्छ’ जस्ता अवस्थाहरू छन् भने, ondrej/php नामक PPA थपेर PHP को संस्करण छनोट गरेर स्थापना गर्न सकिन्छ।

चरण १: PPA रिपोजिटरी थप्नुहोस्

sudo add-apt-repository ppa:ondrej/php
sudo apt update
यो रिपोजिटरी Ubuntu समुदायमा पनि व्यापक रूपमा प्रयोग गरिन्छ र PHP को प्रत्येक संस्करणसँग मेल खाने स्थिर बिल्डहरू प्रदान गर्दछ।

चरण २: मनचाहिने PHP संस्करण स्थापना गर्नुहोस्

उदाहरणका लागि, PHP 8.2 स्थापना गर्न चाहनुहुन्छ भने, निम्नानुसार निर्दिष्ट गरेर कार्यान्वयन गर्नुहोस्।
sudo apt install -y php8.2
यसैगरी, PHP 7.4 वा 8.0 जस्ता अन्य संस्करणहरू पनि स्थापना गर्न सकिन्छ।

चरण ३: संस्करण जाँच गर्नुहोस्

php -v
विशिष्ट संस्करणको स्थापना सफल भएमा, यहाँ त्यस संस्करणको जानकारी प्रदर्शित हुन्छ।

4. PHP को सञ्चालन जाँच

PHP को स्थापना सम्पन्न भएपछि, अब यो सही रूपमा सञ्चालन भइरहेको छ वा छैन भनेर जाँच गरौं। Ubuntu मा, CLI (कमाण्ड लाइन) मार्फत जाँचका साथै, वेब सर्वर (Apache वा Nginx) मार्फत जाँच पनि गर्न सकिन्छ। यहाँ हामी प्रत्येक विधिको परिचय दिन्छौं।

कमाण्ड लाइन (CLI) मार्फत जाँच

पहिले, टर्मिनलबाट PHP को संस्करण देखाएर, आधारभूत सञ्चालन जाँच गर्नुहोस्।
php -v
यो कमाण्डबाट, हालको PHP संस्करण र निर्माण जानकारी देखाइएमा, CLI मा सञ्चालन सामान्य छ।

आउटपुट उदाहरण:

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

वेब सर्वर मार्फत जाँच (Apache को हकमा)

Apache स्थापना भएको छ भने, PHP ले Apache सँग सही रूपमा सहकार्य गरिरहेको छ वा छैन जाँच गर्न, phpinfo() फङ्क्शन प्रयोग गरेको परीक्षण पृष्ठ बनाउनु प्रभावकारी हुन्छ।

१. परीक्षण फाइलको निर्माण

निम्न कमाण्डबाट, Apache को सार्वजनिक निर्देशिका (सामान्यतया /var/www/html) मा PHP फाइल बनाउनुहोस्।
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

२. ब्राउजरमा जाँच

बनाएको फाइलमा, वेब ब्राउजरबाट पहुँच गर्नुहोस्। स्थानीय वातावरण भएमा निम्न URL हुन्छ।
http://localhost/info.php

३. प्रदर्शित सामग्रीको जाँच

PHP सम्बन्धी विस्तृत जानकारी देखाइएमा, Apache मार्फत PHP सही रूपमा सञ्चालन भइरहेको पुष्टि हुन्छ।
🔍 टिप्पणी: phpinfo() को प्रदर्शित सामग्रीमा सुरक्षा सम्बन्धी जानकारी पनि समावेश हुने भएकाले, जाँच पछि info.php फाइल हटाउन सिफारिस गरिन्छ।
sudo rm /var/www/html/info.php

Nginx + PHP-FPM मार्फत जाँच

Nginx प्रयोग भएको छ भने, PHP php-fpm मार्फत प्रक्रिया गरिन्छ। Nginx र PHP-FPM को सहकार्य जाँच Nginx को सेटिङ फाइलमा .php फाइल उपयुक्त रूपमा प्रक्रिया हुने गरी सेट भएको अवस्थामा, Apache जस्तै info.php बनाएर जाँच गर्नुहोस्। सेटिङमा समस्या भएमा, ५०० त्रुटि वा डाउनलोड स्क्रिन देखिन सक्छ। त्यस अवस्थामा, Nginx सेटिङ फाइलको fastcgi_pass वा include fastcgi-php.conf; जस्ता विवरणहरू पुनरावलोकन गर्न आवश्यक छ।

5. सामान्यतया प्रयोग गरिने PHP मोड्युलहरूको स्थापना

PHP को मुख्य भाग मात्रले सबै कार्यक्षमताहरू प्रयोग गर्न सकिँदैन। धेरै कार्यक्षमताहरू “मोड्युल (विस्तार सुविधा)” को रूपमा प्रदान गरिन्छन्, र आवश्यकतानुसार अलग-अलग स्थापना गर्न आवश्यक छ। यहाँ, वास्तविक विकास र सञ्चालनमा सामान्यतया प्रयोग गरिने मुख्य PHP मोड्युलहरू बारे परिचय दिइन्छ।

PHP मोड्युल भनेको के हो?

PHP मोड्युल (वा विस्तार मोड्युल) डाटाबेस जडान, मल्टिबाइट क्यारेक्टर प्रक्रिया, छवि प्रक्रिया, XML प्रक्रिया आदि जस्ता विशिष्ट कार्यक्षमता थप्नका लागि विस्तारहरू हुन्। मोड्युलहरू APT प्याकेजको रूपमा प्रदान गरिन्छन्, र तल जस्तै स्थापना गर्न सकिन्छ।
sudo apt install php-module-name
संस्करण निर्दिष्ट गर्न चाहनुहुन्छ भने, उदाहरणका लागि php8.2-mbstring जस्तै निर्दिष्ट गर्नुहोस्।

मुख्य PHP मोड्युलहरू र तिनका उपयोगहरू

php-mbstring (मल्टिबाइट क्यारेक्टर समर्थन)

जापानी जस्ता मल्टिबाइट स्ट्रिङहरू ह्यान्डल गर्न आवश्यक मोड्युल हो। जापानी वेबसाइटहरू वा इमेल प्रक्रियामा लगभग अनिवार्य छ।
sudo apt install php-mbstring

php-mysql (MySQL/MariaDB सँग जडान)

MySQL वा MariaDB जस्ता डाटाबेसहरूसँग सहकार्य गर्न आवश्यक छ। WordPress जस्ता डाटाबेस प्रयोग गर्ने एप्लिकेसनहरूमा अनिवार्य छ।
sudo apt install php-mysql

php-gd (छवि प्रक्रिया)

छवि उत्पन्न गर्ने, रूपान्तरण गर्ने, रिसाइज गर्ने आदि कार्यका लागि मोड्युल हो, जसलाई क्याप्चा छवि निर्माण वा थम्बनेल उत्पन्न गर्न प्रयोग गरिन्छ।
sudo apt install php-gd

php-xml (XML प्रक्रिया)

RSS फिड वा SOAP आदि, XML आधारित डाटा ह्यान्डल गर्न आवश्यक छ। CMS वा API सहकार्यमा प्रयोग गरिन्छ।
sudo apt install php-xml

php-curl (HTTP सञ्चार)

बाह्य API सँग सहकार्य आदि, सर्भरबाट HTTP अनुरोध पठाउन प्रयोग गरिन्छ। पछिल्लो समय धेरै फ्रेमवर्कहरूमा पूर्वाधारको रूपमा समावेश छ।
sudo apt install php-curl

php-zip (संक्षिप्त फाइल सञ्चालन)

ZIP फाइलहरूको संक्षिप्तीकरण र असक्षिप्तीकरण आदि ह्यान्डल गर्ने मोड्युल हो, जसलाई फाइल अपलोड सुविधासँग जोडेर प्रयोग गरिन्छ।
sudo apt install php-zip

मोड्युलको सक्रियकरण र पुन: सुरु

केही मोड्युलहरूमा स्थापना पछि स्पष्ट सक्रियकरण आवश्यक हुन्छ। त्यस अवस्थामा निम्नानुसार phpenmod प्रयोग गरेर सक्रिय गर्नुहोस्।
sudo phpenmod module-name
sudo systemctl restart apache2
सक्रिय गरिएका मोड्युलहरू वेब सर्भर पुन: सुरु गरेर प्रतिबिम्बित हुन्छन्।

6. PHP को संस्करण व्यवस्थापन र स्विचिङ

Ubuntu वातावरणमा, एउटा सर्वरमा एकभन्दा बढी PHP संस्करणहरू स्थापना गरेर प्रयोग गर्न सकिन्छ। विशेष गरी विकास वातावरण वा एकभन्दा बढी वेब एपहरू होस्ट गर्ने सर्वरहरूमा, फरक PHP संस्करणहरूबीच स्विच गर्न आवश्यक पर्ने अवस्थाहरू आउँछन्। यहाँ, CLI (कमाण्ड लाइन) मा स्विच गर्ने विधि र Apache मा PHP संस्करण निर्दिष्ट गर्ने विधिलाई व्याख्या गरिन्छ।

CLI मा PHP संस्करण स्विच

प्रयोग गर्ने कमाण्ड: update-alternatives

Ubuntu मा, update-alternatives कमाण्ड प्रयोग गरेर, CLI मा प्रयोग हुने PHP को संस्करणलाई सजिलै स्विच गर्न सकिन्छ।

चरण १: स्थापना भएका PHP संस्करणहरू जाँच्नुहोस्

ls /usr/bin/php*

चरण २: update-alternatives मा PHP संस्करण दर्ता गर्नुहोस् (पहिलो पटक मात्र)

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

चरण ३: प्रयोग गर्ने संस्करण छान्नुहोस्

sudo update-alternatives --config php
यो कमाण्ड चलाउँदा, निम्न जस्तो छनोट स्क्रिन देखाइन्छ:
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:
इच्छित संस्करणको नम्बर 입력 गरेर स्विच लागू हुन्छ।

चरण ४: संस्करण जाँच

php -v

Apache मा PHP संस्करण स्विच

Apache प्रयोग गर्दा, संस्करणअनुसार मोड्युलहरू तयार छन्, र मोड्युलको सक्रिय/निष्क्रिय स्विच गरेर संस्करण निर्दिष्ट गर्न सकिन्छ।

१. मोड्युल जाँच गर्नुहोस्

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

२. हाल सक्रिय मोड्युल निष्क्रिय गर्नुहोस्

sudo a2dismod php7.4

३. नयाँ प्रयोग गर्ने संस्करण सक्रिय गर्नुहोस्

sudo a2enmod php8.2

४. Apache लाई पुन: सुरु गरेर लागू गर्नुहोस्

sudo systemctl restart apache2
यसले CLI मात्र होइन, Apache मार्फत PHP कार्यान्वयनमा पनि इच्छित संस्करण लागू हुन्छ।

7. अपाचे र एनजिनक्ससँगको एकीकरण सेटिङ

पीएचपी एक्लैले मात्र काम गर्दैन, तर वेब सर्भरसँग एकीकृत भएपछि मात्र पूर्ण रूपमा वेब एप्लिकेसन निर्माण गर्न सकिन्छ। उबुन्टुमा मुख्य रूपमा Apache वा Nginx प्रयोग हुने भएकाले, यहाँ दुवै वेब सर्भरहरूमा पीएचपीसँगको एकीकरण विधि व्याख्या गरिन्छ।

अपाचेसँगको एकीकरण सेटिङ (mod_php)

अपाचेमा, mod_php मोड्युल प्रयोग गरेर पीएचपी स्क्रिप्टहरूलाई प्रत्यक्ष रूपमा प्रोसेस गर्न सकिन्छ। यो विधि सेटिङ सरल छ र वर्डप्रेस जस्ता सीएमएसहरूलाई तुरुन्तै चलाउन चाहने अवस्थामा उपयुक्त छ।

चरण १: अपाचे र mod_php स्थापना

sudo apt install -y apache2 libapache2-mod-php
libapache2-mod-php प्याकेज स्थापना गरेपछि, अपाचेले पीएचपी फाइलहरू प्रोसेस गर्न सक्छ।

चरण २: अपाचेको पुन: सुरु

sudo systemctl restart apache2

चरण ३: पीएचपी फाइलको परीक्षण

अपाचेको सार्वजनिक डाइरेक्टरी (सामान्यतया /var/www/html) मा test.php नामको निम्नानुसार फाइल सिर्जना गर्नुहोस् र ब्राउजरमा काम गर्ने कुरा जाँच्नुहोस्।
<?php
phpinfo();
?>
पहुँच उदाहरण:
http://localhost/test.php

एनजिनक्ससँगको एकीकरण सेटिङ (PHP-FPM)

एनजिनक्स हल्का र छिटो वेब सर्भर हो तर पीएचपीलाई प्रत्यक्ष रूपमा प्रोसेस गर्ने क्षमता छैन। त्यसैले, PHP-FPM (FastCGI Process Manager) मार्फत पीएचपीसँग एकीकृत हुन्छ।

चरण १: एनजिनक्स र PHP-FPM स्थापना

sudo apt install -y nginx php-fpm

चरण २: एनजिनक्सको सेटिङ फाइल सम्पादन

सामान्यतया /etc/nginx/sites-available/default सम्पादन गर्नुहोस्।
sudo nano /etc/nginx/sites-available/default
निम्नानुसार सेटिङ ब्लक थप्नुहोस् वा संशोधन गर्नुहोस्:
location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

चरण ३: एनजिनक्सको पुन: सुरु

sudo systemctl restart nginx

चरण ४: पीएचपी फाइलमा काम जाँच

अपाचे जस्तै, /var/www/html/test.php सिर्जना गर्नुहोस् र ब्राउजरबाट पहुँच गरेर पीएचपी जानकारी देखिने कुरा जाँच्नुहोस्।

थप जानकारी: फायरवाल सेटिङ (आवश्यक भएमा)

UFW (Uncomplicated Firewall) प्रयोग गर्दै हुनुहुन्छ भने, निम्न कमान्डहरूले वेब सर्भरमा पहुँच अनुमति दिन आवश्यक छ।
sudo ufw allow 'Apache Full'
# वा
sudo ufw allow 'Nginx Full'
अपाचे सजिलो छ, एनजिनक्स प्रदर्शनमा बलियो छ। तिनीहरूको उद्देश्य अनुसार छान्नुहोस् र पीएचपीसँग सही रूपमा एकीकृत गर्नुहोस्।

8. समस्या निवारण

PHP लाई Ubuntu मा स्थापना गरेर वेब सर्वरसँग जोड्दा पनि, सेटिङ्ग गल्ती वा वातावरण निर्भरताका कारणले सामान्य रूपमा काम नगर्ने अवस्थाहरू हुन सक्छन्। यो खण्डमा, वास्तविक रूपमा सामान्य ट्रबलहरू र तिनका कारणहरू, समाधान विधिहरू प्रस्तुत गरिन्छ।

PHP ले सही रूपमा काम गर्दैन (ब्राउजरमा स्रोत कोड देखाइन्छ)

कारण

Apache वा Nginx ले PHP लाई प्रोसेस गर्दैन र केवल फाइलबाट आउटपुट गर्दा यो हुन्छ। यो PHP मोड्युल वा FastCGI सेटिङ्ग सही रूपमा लागू नभएको कारणले हुन्छ।

समाधान

  • Apache को अवस्थामा: libapache2-mod-php स्थापना भएको र सक्रिय छ कि जाँच गर्नुहोस्, र Apache लाई पुन: सुरु गर्नुहोस्।
  sudo apt install libapache2-mod-php
  sudo systemctl restart apache2
  • Nginx को अवस्थामा: php-fpm स्थापना भएको छ कि जाँच गर्नुहोस्, र Nginx को सेटिङ्गमा fastcgi_pass सही सकेट वा पोर्ट तर्फ निर्देशित छ कि जाँच गर्नुहोस्।
  sudo systemctl restart php8.2-fpm
  sudo systemctl restart nginx

PHP को विशिष्ट सुविधा प्रयोग गर्न सकिँदैन (फङ्क्शन अपरिभाषित छ)

कारण

आवश्यक PHP मोड्युल स्थापना भएको छैन वा सक्रिय छैन।

समाधान

  • सम्बन्धित सुविधाका लागि आवश्यक मोड्युलहरू (उदाहरण: mbstring, xml, curl) स्थापना गर्नुहोस्।
  sudo apt install php-mbstring php-xml php-curl
  • मोड्युल सक्रिय गरेपछि वेब सर्वरलाई पुन: सुरु गर्नुहोस्।
  sudo systemctl restart apache2  # वा nginx
  • सक्रिय मोड्युलहरूको सूची जाँच:
  php -m

PHP को त्रुटिहरू स्क्रिनमा देखाइँदैन

कारण

पूर्वनिर्धारित रूपमा, PHP को त्रुटि सन्देश आउटपुट बन्द हुन्छ।

समाधान

php.ini सम्पादन गर्नुहोस् र त्रुटि प्रदर्शन सेटिङ्ग परिवर्तन गर्नुहोस्।
sudo nano /etc/php/8.2/apache2/php.ini
निम्न आइटमहरू खोजेर परिवर्तन गर्नुहोस्:
display_errors = On
error_reporting = E_ALL
त्यसपछि, वेब सर्वरलाई पुन: सुरु गर्नुहोस्।
sudo systemctl restart apache2

त्रुटि लगको जाँच विधि

Apache को अवस्थामा:

/var/log/apache2/error.log

Nginx को अवस्थामा:

/var/log/nginx/error.log

PHP-FPM को लग (Nginx जोडाइमा):

/var/log/php8.2-fpm.log
यी लगहरू जाँच गरेर, कारण पहिचान गर्न सहयोगी हुन्छ।
sudo tail -f /var/log/apache2/error.log
त्रुटि भएमा, घबराउँदै नगरी लग जाँच → सेटिङ्ग पुनरावलोकन → सर्वर पुन: सुरु लाई आधारभूत चरणको रूपमा सम्बोधन गर्नु मुख्य बिन्दु हो।

9. सारांश

यो लेखमा, ‘Ubuntu मा PHP स्थापना गर्ने विधि’ लाई विषय बनाएर, आधारभूत देखि उन्नत सम्म चरणबद्ध रूपमा व्याख्या गरिएको छ। यहाँ, लेखको सम्पूर्ण बुँदाहरू व्यवस्थित गर्दै, अर्को चरणहरू बारे पनि परिचय गरिनेछ।

यो लेखको मुख्य बुँदाहरूको सारांश

  • Ubuntu को संस्करण जाँच र तयारी PHP लाई सही रूपमा स्थापना गर्नको लागि, OS को संस्करण जाँच वा प्याकेज अपडेट महत्वपूर्ण छ।
  • PHP को स्थापना विधि २ प्रकारका छन् मानक रिपोजिटरीबाट सजिलै स्थापना गर्ने विधि र PPA प्रयोग गरेर कुनै पनि संस्करण स्थापना गर्ने विधि उपलब्ध छ।
  • स्थापना पछि कार्य जाँच php -v वा phpinfo() मार्फत CLI र Web दुवैको कार्य जाँच सम्भव छ।
  • मोड्युलको प्रयोगले कार्यक्षमता विस्तार php-mbstring वा php-mysql जस्ता सामान्यतया प्रयोग हुने मोड्युलहरूलाई आवश्यकता अनुसार स्थापना गर्नुहोस्।
  • बहु संस्करणहरूको स्विचिङ पनि समर्थन update-alternatives वा Apache को मोड्युल स्विचिङ मार्फत लचिलो रूपमा सम्हाल्न सकिन्छ।
  • Apache/Nginx सँगको सहकार्य पनि महत्वपूर्ण प्रयोग हुने Web सर्वर अनुसार उपयुक्त सेटिङले स्थिर कार्यको कुञ्जी बन्छ।
  • समस्या हुँदा लग जाँच गर्नुहोस् ‘PHP देखिँदैन’ ‘कार्य गर्दैन’ जस्ता समस्याहरूमा, त्रुटि लग जाँच प्रभावकारी हुन्छ।

अर्को सिक्नु पर्ने चरणहरू

Ubuntu मा PHP स्थापना गरेपछि, थप एक कदम अगाडि बढेर निम्न प्रविधिहरू सिक्न सिफारिस गरिन्छ।
  • MySQL (MariaDB) को स्थापना र डाटाबेस जडान
  • WordPress को स्थापना र निर्माण
  • Laravel जस्ता PHP फ्रेमवर्क स्थापना
  • HTTPS समर्थन (Let’s Encrypt प्रयोग गरेर SSL प्रमाणपत्र सेटिङ)
  • स्वचालित सुरु/पुनर्सुरु व्यवस्थापन (systemd को प्रयोग)
यीहरूलाई संयोजन गरेर, थप उन्नत Web सेवा वा एप्लिकेसन विकास सम्भव हुन्छ। Ubuntu र PHP ले, ओपन सोर्सको शक्तिले दृढ र लचिलो विकास वातावरण प्रदान गर्दछ। यो लेखलाई आधार बनाएर, विभिन्न अभ्यासहरूमा स्टेप अप गर्नुहोस्।

10. सामान्य प्रश्नहरू (FAQ)

Ubuntu मा PHP स्थापना र सेटअप गर्दा गर्दा, धेरै मानिसहरूले ठोक्किने बिन्दुहरू वा प्रायः खोजिने शंकाहरू संकलित गरेका छौं। शुरुआतीहरूले पनि बुझ्न सजिलो हुने गरी, सरल र व्यावहारिक उत्तरहरूलाई ध्यान दिइएको छ।

Q1. Ubuntu मा PHP को नवीनतम संस्करण कसरी स्थापना गर्ने?

A1. Ubuntu को मानक रिपोजिटरीमा, आवश्यकतया नवीनतम PHP संस्करण प्रदान गरिएको हुँदैन। भन्दा नयाँ संस्करण प्रयोग गर्न चाहनुहुन्छ भने, ondrej/php भन्ने विश्वसनीय PPA थपेर, विशिष्ट संस्करण निर्दिष्ट गरेर स्थापना गर्नुहोस्।
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2

Q2. स्थापना गरिएको PHP को संस्करण CLI मा कसरी स्विच गर्ने?

A2. एकभन्दा बढी संस्करणहरू स्थापना भएका अवस्थामा, update-alternatives प्रयोग गरेर संस्करणहरू स्विच गर्न सकिन्छ।
sudo update-alternatives --config php
प्रदर्शित विकल्पहरूबाट, प्रयोग गर्न चाहेको संस्करणको नम्बर 입력 गरेर परिवर्तन गर्न सकिन्छ।

Q3. Apache मा PHP चल्दैन, PHP फाइल खोल्दा यसको सामग्री देखाइन्छ।

A3. यो अवस्था Apache ले PHP प्रोसेस नगरी, सामान्य टेक्स्ट फाइलको रूपमा आउटपुट दिइरहेको हुन्छ। तलको जस्तो libapache2-mod-php मोड्युल सक्रिय छ कि जाँचेर, पुन: सुरु गर्नुहोस्।
sudo apt install libapache2-mod-php
sudo systemctl restart apache2

Q4. PHP को सेटिङ फाइल (php.ini) कहाँ छ?

A4. CLI का लागि र वेब सर्भरका लागि फरक हुन्छ। प्रायः प्रयोग हुने पाथहरू निम्नानुसार छन्।
  • Apache का लागि:/etc/php/8.2/apache2/php.ini
  • CLI का लागि:/etc/php/8.2/cli/php.ini
संस्करण अनुसार “8.2” को भाग परिवर्तन हुन्छ।

Q5. PHP को एक्सटेन्सन मोड्युलहरू कसरी सक्रिय गर्ने?

A5. स्थापना पछि मोड्युल सक्रिय गर्न, phpenmod कमान्ड प्रयोग गर्नुहोस्।
sudo phpenmod mbstring
sudo systemctl restart apache2
सक्रिय गरेपछि, वेब सर्भर पुन: सुरु गर्न नबिर्सनुहोस्।

Q6. Nginx मा PHP राम्रोसँग चल्दैन। सेटिङमा ध्यान दिनुपर्ने बिन्दुहरू के हुन्?

A6. Nginx मा php-fpm प्रयोग गरेर PHP प्रोसेस गर्नुपर्छ। सेटिङ फाइलमा तलको जस्तो fastcgi_pass वर्णन सही छ कि जाँच्नुहोस्।
location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
संस्करण अनुसार .sock को भाग समायोजन गर्नुपर्छ।

Q7. PHP को त्रुटिहरू स्क्रिनमा देखाइँदैनन्।

A7. php.ini मा display_errors = Off भएको सम्भावना छ। विकासको समयमा मात्र, तलको जस्तो सेटिङ परिवर्तन गरेर त्रुटिहरू देखाउन सकिन्छ।
display_errors = On	error_reporting = E_ALL
परिवर्तन पछि वेब सर्भर पुन: सुरु गर्न आवश्यक छ। माथि उल्लेखितहरू Ubuntu मा PHP प्रयोग गर्दा सामान्य प्रश्नहरू र तिनका समाधानहरू हुन्। यी ज्ञानहरू भएपछि, समस्या समयमा शान्त भएर सामना गर्न सकिन्छ।