Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> PHP

CentOS 7 पर PHP 5.x को PHP 7 में माइग्रेट करना

इस लेख में, हम PHP 5.x को PHP 7, PHP 7 में अपग्रेड और अपडेट करने के तरीके के बारे में जानेंगे, जो कि PHP के पुराने संस्करणों की तुलना में गति सुधार के साथ 2015 में जारी किया गया था।

आवश्यकताएं

यह मानते हुए कि हमने पहले ही CentOS7 पर PHP 5.x स्थापित कर लिया है, और mod_php मॉड्यूल को Apache द्वारा सक्षम किया जाना चाहिए, और हमें सूडो विशेषाधिकार या रूट उपयोगकर्ता की आवश्यकता है।

PHP 7 रिपोजिटरी को सक्षम करना

चूंकि PHP 7.x आधिकारिक रिपॉजिटरी में उपलब्ध नहीं है, इसलिए हमें IUS समुदाय प्रोजेक्ट रिपॉजिटरी का उपयोग करने की आवश्यकता है।

नीचे दिए गए आदेश के साथ मशीन में IUS रिपॉजिटरी डाउनलोड करें

# curl 'https://setup.ius.io/' -o setup-ius.sh
curl 'https://setup.ius.io/' -o setup-ius.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1913 100 1913 0 0 1554 0 0:00:01 0:00:01 --:--:-- 1555


नीचे दिए गए आदेश के साथ स्थानीय मशीन पर IUS रिपॉजिटरी स्थापित करना

# bash setup-ius.sh
bash setup-ius.sh
detected CentOS 7
Loaded plugins: fastestmirror
base | 3.6 kB
epel/x86_64/metalink | 5.2 kB
epel | 4.3 kB
extras | 3. 4 kB 00:00:00
mysql56-community | 2.5 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/3): updates/7/x86_64/primary_db | 5.7 MB 00:00:00
(2/3): epel/x86_64/updateinfo | 584 kB 00:00:02
(3/3): epel/x86_64/primary_db | 4.3 MB 00:00:03
Loading mirror speeds from cached hostfile
* base: mirrors.nhanhoa.com
* epel: kodeterbuka.beritagar.id
* extras: mirrors.nhanhoa.com
* updates: mirrors.nhanhoa.com
Package epel-release-7-7.noarch already installed and latest version
Nothing to do
Loaded plugins: fastestmirror
ius-release.rpm | 8.1 kB 00:00:00
Examining /var/tmp/yum-root-BRDs50/ius-release.rpm: ius-release-1.0-14.ius.centos7.noarch
Marking /var/tmp/yum-root-BRDs50/ius-release.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package ius-release.noarch 0:1.0-14.ius.centos7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=========================================================================================================================
Package Arch Version Repository Size=========================================================================================================================
Installing:
ius-release noarch 1.0-14.ius.centos7 /ius-release 8.
Transaction Summary
=========================================================================================================================
Install 1 Package
Total size: 8.5 k
Installed size: 8.5 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : ius-release-1.0-14.ius.centos7.noarch 1/1
Verifying : ius-release-1.0-14.ius.centos7.noarch 1/1
Installed:
ius-release.noarch 0:1.0-14.ius.centos7
Complete!

अपाचे में mod_php मॉड्यूल को अपग्रेड करना

यहां, हम सिस्टम को अपाचे मॉड्यूल mod_php के लिए अपग्रेड करेंगे। सबसे पहले, हम नीचे दिए गए कमांड का उपयोग करके पुराने पैकेजों को हटा देंगे।

# yum remove php-cli mod_php php-common

नीचे दिए गए आदेश का उपयोग करके IUS रिपॉजिटरी का उपयोग करके नए PHP 7 मॉड्यूल को स्थापित करना।

# yum install php70-mysqlnd mod_php70u php70u-cli
Loaded plugins: fastestmirror
ius | 2.2 kB 00:00:00
ius/x86_64/primary_db | 173 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: mirrors.nhanhoa.com
* epel: kodeterbuka.beritagar.id
* extras: mirrors.nhanhoa.com
* ius: hkg.mirror.rackspace.com
* updates: mirrors.nhanhoa.com
Resolving Dependencies
--> Running transaction check
---> Package mod_php70u.x86_64 0:7.0.8-1.ius.centos7 will be installed
--> Processing Dependency: php-common(x86-64) = 7.0.8-1.ius.centos7 for package: mod_php70u-7.0.8-1.ius.centos7.x86_64
---> Package php70u-cli.x86_64 0:7.0.8-1.ius.centos7 will be installed
---> Package php70u-mysqlnd.x86_64 0:7.0.8-1.ius.centos7 will be installed
--> Processing Dependency: php-pdo(x86-64) = 7.0.8-1.ius.centos7 for package: php70u-mysqlnd-7.0.8-1.ius.centos7.x86_64
--> Running transaction check
---> Package php70u-common.x86_64 0:7.0.8-1.ius.centos7 will be installed
---> Package php70u-pdo.x86_64 0:7.0.8-1.ius.centos7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=========================================================================================================================
Package Arch Version Repository Size
=========================================================================================================================
Installing:
mod_php70u x86_64 7.0.8-1.ius.centos7 ius 2.6 M
php70u-cli x86_64 7.0.8-1.ius.centos7 ius 4.0 M
php70u-mysqlnd x86_64 7.0.8-1.ius.centos7 ius 239 k
Installing for dependencies:
php70u-common x86_64 7.0.8-1.ius.centos7 ius 1.1 M
php70u-pdo x86_64 7.0.8-1.ius.centos7 ius 126 k
Transaction Summary
=========================================================================================================================
Install 3 Packages (+2 Dependent packages)
Total download size: 8.0 M
Installed size: 30 M
Is this ok [y/d/N]: y
Downloading packages:
(1/5): php70u-pdo-7.0.8-1.ius.centos7.x86_64.rpm | 126 kB 00:00:00
(2/5): mod_php70u-7.0.8-1.ius.centos7.x86_64.rpm | 2.6 MB 00:00:01
(3/5): php70u-common-7.0.8-1.ius.centos7.x86_64.rpm | 1.1 MB 00:00:01
(4/5): php70u-mysqlnd-7.0.8-1.ius.centos7.x86_64.rpm | 239 kB 00:00:01
(5/5): php70u-cli-7.0.8-1.ius.centos7.x86_64.rpm | 4.0 MB 00:00:03
-------------------------------------------------------------------------------------------------------------------------
Total 2.2 MB/s | 8.0 MB 00:00:03
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : php70u-common-7.0.8-1.ius.centos7.x86_64 1/5
Installing : php70u-pdo-7.0.8-1.ius.centos7.x86_64 2/5
Installing : php70u-mysqlnd-7.0.8-1.ius.centos7.x86_64 3/5
Installing : php70u-cli-7.0.8-1.ius.centos7.x86_64 4/5
Installing : mod_php70u-7.0.8-1.ius.centos7.x86_64 5/5
Verifying : php70u-cli-7.0.8-1.ius.centos7.x86_64 1/5
Verifying : php70u-common-7.0.8-1.ius.centos7.x86_64 2/5
Verifying : mod_php70u-7.0.8-1.ius.centos7.x86_64 3/5
Verifying : php70u-pdo-7.0.8-1.ius.centos7.x86_64 4/5
Verifying : php70u-mysqlnd-7.0.8-1.ius.centos7.x86_64 5/5
Installed:
mod_php70u.x86_64 0:7.0.8-1.ius.centos7 php70u-cli.x86_64 0:7.0.8-1.ius.centos7
php70u-mysqlnd.x86_64 0:7.0.8-1.ius.centos7
Dependency Installed:
php70u-common.x86_64 0:7.0.8-1.ius.centos7 php70u-pdo.x86_64 0:7.0.8-1.ius.centos7
Complete!

अंत में, हम अपाचे को पुनः आरंभ करेंगे और अपाचे की स्थिति की जांच करेंगे

# systemctl restart httpd

अपाचे सेवा की स्थिति की जाँच कर रहा है

# systemctl status httpd
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2016-07-21 10:24:44 EDT; 46s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 3636 (httpd)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
├─3636 /usr/sbin/httpd -DFOREGROUND
├─3637 /usr/sbin/httpd -DFOREGROUND
├─3638 /usr/sbin/httpd -DFOREGROUND
├─3639 /usr/sbin/httpd -DFOREGROUND
├─3640 /usr/sbin/httpd -DFOREGROUND
└─3641 /usr/sbin/httpd -DFOREGROUND
Jul 21 10:24:43 centos-linux-1.shared systemd[1]: Starting The Apache HTTP Server...
Jul 21 10:24:44 centos-linux-1.shared systemd[1]: Started The Apache HTTP Server.

PHP संस्करण का परीक्षण

हम कमांड लाइन मोड का उपयोग करके PHP संस्करण को सत्यापित कर सकते हैं और हम एक info.php भी बना सकते हैं और PHP के संस्करण की जांच कर सकते हैं

# php -v
PHP 7.0.8 (cli) (built: Jun 23 2016 11:34:57) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

नीचे दिए गए कोड का उपयोग करके info.php फ़ाइल बनाना और GUI मोड में जानकारी की जाँच करना।

# /var/www/html/info.php
<?php
Phpinfo();
?>

फ़ाइल बनाने के बाद नीचे दिए गए यूआरएल के साथ वेब ब्राउज़र तक पहुंचें

https://IP_Address /info.php

CentOS 7 पर PHP 5.x को PHP 7 में माइग्रेट करना

<ब्लॉकक्वॉट>

उपरोक्त चरणों को सेटअप और कॉन्फ़िगर करने के बाद हम अब Centos 7 / RHEL 7 पर PHP 5.x से PHP 7 को अपडेट करने में सक्षम हो सकते हैं क्योंकि अभी CentOS 7 के लिए आधिकारिक रिपॉजिटरी जारी नहीं की गई है। हम यह भी देख सकते हैं कि PHP 7 सर्वर पर अपग्रेड किया गया है।


  1. पीएचपी टाइप एरर

    परिचय लेखन त्रुटि वर्ग विस्तारित होता है त्रुटि कक्षा। यह त्रुटि तब उत्पन्न होती है जब वास्तविक और औपचारिक तर्क प्रकार मेल नहीं खाते हैं, वापसी प्रकार डिकैलर्ड रिटर्न प्रकार से मेल नहीं खाता है या किसी भी अंतर्निहित फ़ंक्शन को पास किए गए अमान्य तर्क ध्यान दें कि सख्त_प्रकार घोषित () . के साथ सत

  1. पीएचपी टैग

    परिभाषा और उपयोग एक PHP कोड स्क्रिप्ट एक टेक्स्ट फ़ाइल है जिसमें .php एक्सटेंशन होता है और इसे वेब सर्वर पर संग्रहीत किया जाता है। सर्वर पर PHP पार्सर वर्णों के विशेष अनुक्रम की तलाश करता है

  1. पीएचपी पीआई () समारोह

    परिभाषा और उपयोग पाई () फ़ंक्शन गणितीय स्थिरांक का मान लौटाता है। यह एक फ्लोट मान 3.14159265359 देता है जो PHP में परिभाषित पूर्वनिर्धारित स्थिरांक के बराबर है - M_PI सिंटैक्स pi ( void ) : float पैरामीटर इस फ़ंक्शन के लिए किसी पैरामीटर की आवश्यकता नहीं है रिटर्न वैल्यू PHP pi() फ़ंक्शन गणितीय