इस लेख में, हम 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 / RHEL 7 पर PHP 5.x से PHP 7 को अपडेट करने में सक्षम हो सकते हैं क्योंकि अभी CentOS 7 के लिए आधिकारिक रिपॉजिटरी जारी नहीं की गई है। हम यह भी देख सकते हैं कि PHP 7 सर्वर पर अपग्रेड किया गया है।