چگونه میتوان نصب PHP 7.x را بر روی سرور لینوکس CentOS 8 به همراه Nginx انجام داد؟ نصب آخرین نسخه PHP 7.4 روی سرور CentOS Enterprise Linux 8 چگونه است؟ اینها سؤالاتی هستند که احتمالاً برای دانستن آنها به سراغ این مطلب آمدهاید. php یا پردازنده فرامتن یک زبان برنامهنویسی متنباز است که برای ساخت...
1398/10/294158 بازدید
چگونه میتوان نصب PHP 7.x را بر روی سرور لینوکس CentOS 8 به همراه Nginx انجام داد؟ نصب آخرین نسخه PHP 7.4 روی سرور CentOS Enterprise Linux 8 چگونه است؟ اینها سؤالاتی هستند که احتمالاً برای دانستن آنها به سراغ این مطلب آمدهاید.
php یا پردازنده فرامتن یک زبان برنامهنویسی متنباز است که برای ساخت صفحات وب دینامیک به کار میرود. کدهای php بر روی سرورهای وب مانند Nginx، Apache و ... اجرا میشوند. در این مطلب قصد داریم که نحوه نصب PHP 7.x را بر روی سرور لینوکس CentOS 8 در کنار سرور Nginx به شما آموزش دهیم.
نصب PHP 7.x بر روی CentOS 8
۱) برنامه ترمینال را باز کنید و به سرور خارجی CentOS 8 لاگین کنید.
۲) باکس CentOS 8 را بروزرسانی کنید؛ برای این منظور، فرمان sudo yum update را اجرا نمایید.
۳) در جستجوی نسخه PHP، فرمان sudo yum search php را اجرا کنید.
۴) ابزار Remi’s repo را برای PHP 7.4 نصب کنید؛ برای این منظور باید از فرمان زیر کمک بگیرید:
۵) نسخه <strong>7.2.11</strong> یا <strong>7.4</strong> از php و ماژول FastCGI را برای Nginx در CentOS 8 نصب کنید. برای این منظور فرمان زیر را اجرا نمایید:
php
1sudo yum install php php-fpm;
۶) Nginx را بهگونهای تنظیم کنید که از php استفاده کند. ۷) با استفاده از فرمان <kbd><strong>sudo yum search php، </strong>ماژولهای اضافی برای پشتیبانی از گرافیک و پایگاه داده نصب کنید.</kbd> ۸) سرور Nginx و php را فعال و دوباره راهاندازی نمایید. ۹) هر دو نصب php را تست کرده و بررسی نمایید. <h2><strong>بروزرسانی باکس CentOS 8</strong></h2> فرمان Yum زیر را اجرا کنید:
php
1sudo yum update
اگر یک کرنل جدید نصب شده باشد، سیستم لینوکس را دوباره راهاندازی و ریبوت کنید؛
php
1sudo reboot
<h2>تشخیص و جستجوی نسخه php</h2> برای یافتن نسخه php در سرور لینوکس CentOS اینترپرایز 8 به روش زیر عمل کنید:
php
1-sudo yum search php
<img class="wp-image-13017 aligncenter" src="https://statics.ariaservice.net/blog/uploads/2020/01/Search-PHP-version-on-CentOS-8-262x300.png" alt="جستجوی نسخه php" width="382" height="541" /> ممکن است چند نسخه مختلف از php بر روی سیستمهای شما نصب شده باشند. بررسی این موضوع میتواند با نوشتن فرمان زیر انجام شود:
php
1sudo yum module list php2345[php/]67نمونه خروجی:891011&lt;pre&gt;Last metadata expiration check: 0:25:04 ago on Mon Dec 16 13:01:39 2019.12CentOS-8 - AppStream13Name Stream Profiles Summary 14php 7.2 [d] common [d], devel, minimal PHP scripting language 1516Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
مثال زیر نشان میدهد که نسخههای 7.2، 7.3 و 7.4 برای نصب در دسترس هستند.
php
1sudo yum module list php
نمونه خروجی:
php
1&lt;/pre&gt;2&lt;pre&gt;Last metadata expiration check: 0:00:05 ago on Mon Dec 16 13:28:05 2019.3CentOS-8 - AppStream4Name Stream Profiles Summary 5php 7.2 &lt;strong&gt;[d]&lt;/strong&gt; common [d], devel, minimal PHP scripting language 67Remi's Modular repository for Enterprise Linux 8 - x86_648Name Stream Profiles Summary 9php remi-7.2 common [d], devel, minimal PHP scripting language 10php remi-7.3 common [d], devel, minimal PHP scripting language 11php remi-7.4 common [d], devel, minimal PHP scripting language 1213Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
به صورت پیشفرض، نسخه 7.2 نصب میشود که با علامت [d] مشخص میگردد.
یادداشتی بر فعالسازی نسخههای مختلف php از جمله 7.3 و 7.4 در CentOS
اکیداً توصیه میشود که از نسخه پیشفرض 7.2 از php برای تولید برنامههای تحتوب استفاده کنید. با این وجود اگر به نسخههای 7.3 یا 7.4 احتیاج داشتید، از فرمانهای زیر کمک بگیرید. در نتیجه، ابزارهای Remi’s repo برای شما فعال میگردند.
نسخه پیشفرض php به 7.2 تنظیم و قفل شده است. امّا در همین حال، شما باید قادر باشید نسخه پیشفرض را به دلخواه خودتان تنظیم کنید. برای این منظور، فرمانهای زیر را تایپ میکنید:
php
1sudo yum module list php23sudo yum module reset php45sudo yum module enable php:remi-7.467## verify it php set to 7.4 ##89sudo yum module list php
نحوه نصب php 7.4 بر روی CentOS 8 با استفاده از فرمان yum
اگر میخواهید نسخه 7.4 از php را بر روی لینوکس CentOS 8 نصب کنید، ابتدا بایستی ابزار Remi repo را فعال کنید و سپس با استفاده از yum، نسخه پیشفرض را انتخاب نمایید.
برای نسخه 7.3 از php، فرمان زیر را اجرا کنید:
php
1sudo yum module list php23sudo yum module reset php45sudo yum module enable php:remi-7.367## verify it php set to 7.3 ##89sudo yum module list php
نسخه php تنظیم شد؛ حالا وقت آن رسیده است که نصب PHP 7.x را بر روی سرور ابری CentOS 8 شروع کنید. برای این منظور، فرمان زیر را تایپ میکنید:
php
1sudo yum install php php-fpm
اگر به هر دلیلی نمیخواهید سرور Apache را نصب کنید، فرمان زیر را تایپ نمایید:
php
1sudo yum install php-fpm php-common php-cli
فعالسازی سرویس php-fpm
فرمان systemctl زیر را تایپ کنید:
php
1sudo systemctl enable php-fpm.service
با فرمان زیر، سرویس php-fpm را راهاندازی کنید:
php
1sudo systemctl start php-fpm.service23sudo systemctl status php-fpm.service
برای کسب اطلاعات بیشتر، نحوه راهاندازی، بارگذاری و شروع سرویس PHP-fpm را ببینید:
میتوانید به صورت زیر ماژولها را جستجو کرده و نصب نمایید:
php
1sudo yum search php-23sudo yum search php- | grep mysql45sudo yum search php74- ## for version 7.2 ##67sudo yum search php74- ## for version 7.3 ##89sudo yum search php74- ## for version 7.4 ##
php
1======================== Summary & Name Matched: php74- ========================23php74-php-zephir-parser-devel.x86_64 : php74-php-zephir-parser developer files45============================= Name Matched: php74- =============================67php74-php.x86_64 : PHP scripting language for creating dynamic web sites89php74-build.x86_64 : Package shipping basic build configuration1011php74-php-gd.x86_64 : A module for PHP applications for using the gd graphics1213php74-xhprof.noarch : A Hierarchical Profiler for PHP - Web interface1415php74-zephir.noarch : Zephir language for creation of extensions for PHP.1617php74-php-ast.x86_64 : Abstract Syntax Tree1819php74-php-cli.x86_64 : Command-line interface for PHP2021php74-php-dba.x86_64 : A database abstraction layer module for PHP applications2223php74-php-dbg.x86_64 : The interactive PHP debugger2425php74-php-ffi.x86_64 : Foreign Function Interface2627php74-php-fpm.x86_64 : PHP FastCGI Process Manager2829php74-php-gmp.x86_64 : A module for PHP applications for using the GNU MP3031php74-php-lz4.x86_64 : LZ4 Extension for PHP3233php74-php-pdo.x86_64 : A database access abstraction module for PHP applications3435php74-php-xml.x86_64 : A module for PHP applications which use XML3637php74-runtime.x86_64 : Package that handles php74 Software Collection.3839php74-php-imap.x86_64 : A module for PHP applications that use IMAP4041php74-php-intl.x86_64 : Internationalization extension for PHP applications4243php74-php-json.x86_64 : JavaScript Object Notation extension for PHP4445php74-php-ldap.x86_64 : A module for PHP applications that use LDAP4647php74-php-oci8.x86_64 : A module for PHP applications that use OCI8 databases4849php74-php-odbc.x86_64 : A module for PHP applications that use ODBC databases5051php74-php-pear.noarch : PHP Extension and Application Repository framework5253php74-php-pggi.x86_64 : GTK bindings5455php74-php-snmp.x86_64 : A module for PHP applications that query SNMP-managed5657php74-php-soap.x86_64 : A module for PHP applications that use the SOAP protocol5859php74-php-tidy.x86_64 : Standard PHP module provides tidy library support6061php74-php-zstd.x86_64 : Zstd Extension for PHP6263php74-scldevel.x86_64 : Package shipping development files for php746465php74-unit-php.x86_64 : PHP module for NGINX Unit6667php74-php-devel.x86_64 : Files needed for building PHP extensions6869php74-php-pgsql.x86_64 : A PostgreSQL database module for PHP7071php74-php-pinba.x86_64 : Client extension for Pinba statistics server7273php74-php-bcmath.x86_64 : A module for PHP applications for using the bcmath7475php74-php-brotli.x86_64 : Brotli Extension for PHP7677php74-php-common.x86_64 : Common files for PHP7879php74-php-pspell.x86_64 : A module for PHP applications for using pspell8081php74-php-recode.x86_64 : A module for PHP applications for using the recode8283php74-php-snappy.x86_64 : Snappy Extension for PHP8485php74-php-sodium.x86_64 : Wrapper for the Sodium cryptographic library8687php74-php-sqlsrv.x86_64 : Microsoft Drivers for PHP for SQL Server8889php74-php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC9091php74-php-enchant.x86_64 : Enchant spelling extension for PHP applications9293php74-php-libvirt.x86_64 : PHP language binding for Libvirt9495php74-php-mysqlnd.x86_64 : A module for PHP applications that use MySQL9697php74-php-opcache.x86_64 : The Zend OPcache9899php74-php-process.x86_64 : Modules for PHP script using system process100101php74-php-embedded.x86_64 : PHP library for embedding in applications102103php74-php-mbstring.x86_64 : A module for PHP applications which need multi-byte104105php74-php-phalcon4.x86_64 : Phalcon Framework106107php74-php-componere.x86_64 : Composing PHP classes at runtime108109php74-php-litespeed.x86_64 : LiteSpeed Web Server PHP support110111php74-php-maxminddb.x86_64 : MaxMind DB Reader extension112113php74-php-pdo-dblib.x86_64 : PDO driver for Microsoft SQL Server and Sybase114115php74-php-phpiredis.x86_64 : Client extension for Redis116117php74-php-smbclient.x86_64 : PHP wrapper for libsmbclient118119php74-php-wkhtmltox.x86_64 : HTML Converter120121php74-php-libvirt-doc.noarch : Document of php-libvirt122123php74-php-snuffleupagus.x86_64 : Security module for PHP124125php74-php-zephir-parser.x86_64 : Zephir parser extension126127php74-php-horde-horde-lz4.x86_64 : Horde LZ4 Compression Extension
نصب ماژولهای php 7.x در CentOS 8
برای نمونه، برای نصب پشتیبانی گرافیکی و پایگاه داده مینویسیم:
php
1sudo yum install php-mysqlnd php-gd
نصبهای رایج وردپرس بر روی CentOS 8 نیازمند افزونهها یا ماژولهای php زیر خواهند بود:
هر زمان که نیاز باشد، باید فایلهای زیر را ویرایش کنید:
/etc/php.ini
فایل مربوط به نصب و تنظیمات php؛ به این فایل نباید دست بزنید! به جای آن، در دایرکتوری /etc/php.d/ یک فایل custom.ini بسازید.
/etc/php-fpm.conf
فایل تنظیمات Gloable FPM (FastCGI)
/etc/php-fpm.d/www.conf
فایل تنظیمات FastCGI (FPM) www pool
/etc/php.d/
فایل تنظیمات ماژولهای php
جمعبندی
به این ترتیب است که شما php را در CentOS 8 نصب و اجرا خواهید کرد. این در حالی است که به صورت پیشفرض، نسخه 7.2 از php بر روی لینوکس CentOS 8 نصب میشود. با این وجود، توسعهدهنده یا sysadmin میتواند آخرین نسخه php مانند 7.4 را با استفاده از منبع Remi نصب کند و در سرور لینوکس CentOS اینترپرایز استفاده نماید.