Установка php 7 на centos 7: Установка PHP 7 и 8 на Linux CentOS 7.
Содержание
PHP: Установка на Unix-системы — Manual
Change language:
EnglishBrazilian PortugueseChinese (Simplified)FrenchGermanJapaneseRussianSpanishTurkishOther
Submit a Pull Request
Report a Bug
- Apache 2.x на Unix системах
- Установка Nginx 1.4.x на систему Unix
- Установка PHP на Lighttpd 1.4 на Unix-системах
- Веб-сервер LiteSpeed/OpenLiteSpeed на системах Unix
- Установка с интерфейсами CGI и командной строки
- OpenBSD, замечания по установке
- Инструкции по инсталляции для ОС Solaris
- Инструкции по установке на Debian GNU/Linux
Этот раздел описывает установку и настройку PHP на Unix-системах.
Пожалуйста, прочитайте все разделы, касающиеся вашей платформы
или веб-сервера, прежде чем вы приступите к установке.
Как сказано в разделе Общие указания по
установке, в этом разделе в основном мы описываем
установку PHP, ориентированную на веб, однако мы также затрагиваем
установку PHP для использования в командной строке.
Есть несколько способов установки PHP на Unix платформы.
Один из них — процесс конфигурирования и компиляции исходников, другой —
установка из пакетов. Этот документ сфокусирован на установке из
исходных кодов. Много Unix-подобных систем имеют различные системы установки программ из пакетов.
Они могут помочь при установке стандартных конфигураций, но если вам необходимы другие варианты
(такие как безопасный сервер или другой драйвер базы данных), вам может
потребоваться скомпилировать PHP и/или ваш веб-сервер.
Если вы незнакомы с компилированием собственного программного обеспечения,
то, может быть, стоит поискать готовый пакет PHP с нужными вам возможностями,
собранный кем-нибудь ещё.
Для компиляции PHP из исходных кодов вам потребуется следующее:
Базовые знания Unix (способность обращаться с «make» и компилятором C)
Компилятор ANSI C
Веб-сервер
Любые компоненты, специфичные для отдельных модулей PHP (такие как библиотеки GD,
PDF и т.д.)
При сборке непосредственно из исходников Git или после ручных
изменений вам может также понадобиться:
autoconf: 2.59+ (для PHP >= 7.0.0), 2.64+ (для PHP >= 7.2.0)
automake: 1.4+
libtool: 1.4.x+ (кроме версии 1.4.2)
re2c: 0.13.4+
bison:
PHP 7.0 — 7.3: 2.4 и выше (включая Bison 3.x)
PHP 7.4: > 3.0
Общая (или начальная) конфигурация PHP задаётся параметрами скрипта
configure. Вы можете просмотреть список допустимых
параметров вместе с их кратким пояснением при помощи команды
./configure —help.
Различные опции документированы в данном руководстве отдельно, список основных параметров
можно просмотреть в приложении Основные параметры конфигурации,
тогда как параметры, специфичные для различных модулей, описаны на страницах документации,
посвящённых этим модулям. X. Тем не менее, такой режим
выделения памяти необходим для поддержки JIT компиляции PCRE JIT, так что в таких
случаях необходимо собирать PHP без поддержки JIT компиляции PCRE,
либо бинарные файлы должны быть внесены в белый список операционной системы,
Замечание:
Кросс-компиляция под ARM с помощью «Android toolchain» на данный момент не поддерживается.
+add a note
User Contributed Notes 2 notes
up
down
37
cj3 at clifjackson dot net ¶
5 years ago
I recently ran in to a situation where I was building PHP 7.1.13 from source. Configuration & make went fine, however, when I ran make install it hung. It turns out that if you are building PHP with Apache (apxs) the make file calls apxs with the -a flag which tells it to modify the httpd.conf file. If, for whatever reason, the file is not writeable then it fails and you get the hang.
Line 108 in my Makefile looks like this:
INSTALL_IT = $(mkinstalldirs) '$(INSTALL_ROOT)/usr/lib64/httpd/modules' && $(mkinstalldirs) '$(INSTALL_ROOT)/etc/httpd/conf' && /usr/sbin/apxs -S LIBEXECDIR='$(INSTALL_ROOT)/usr/lib64/httpd/modules' -S SYSCONFDIR='$(INSTALL_ROOT)/etc/httpd/conf' -i -a -n php7 libphp7.la
I had to remove the -a flag and then it was fine.
up
down
-22
Arjan van Bentem ¶
16 years ago
When using Red Hat Fedora, beware of Security Enhanced Linux, SELinux.
Quoted from Red Hat: "The security goal is to make sure that Apache HTTP is only reading the static Web content, and not doing anything else such as writing to the content, connecting to database sockets, reading user home directories, etc."
These limitations include, among many other things, using mkdir to create directories, using fopen to access files, using fopen or get_headers to read URLs, or using exec to run external applications that happen to use sockets (or maybe access some files, but which will run fine when executed from the command line as Unix user apache or httpd -- such as HylaFAX "faxstat" as invoked from nweb2fax recvq. php and sendq.php).
See /var/log/messages for any denials due to the SELinux policy. To disable it:
- System, Administration, Security Level and Firewall
- open the SELinux tab
- click the Transition tree
- check Disable SELinux protection for Apache HTTP
- execute /etc/init.d/httpd restart
See also http://fedora.redhat.com/docs/selinux-faq/ and http://php.net/results.php?q=selinux&p=wholesite
+add a note
Установка нескольких версии PHP в Linux (Ubuntu, CentOS) [АйТи бубен]
В настоящее время существует несколько поддерживаемых версии PHP, реальности использовать можно и нужно только две версии PHP 7.4 для старых сайтов и 8.1 для новых проектов.
В этой статье объясняется, как установить ВСЕ поддерживаемые версии PHP с наиболее востребованными расширениями PHP для веб серверов Apache и Nginx.
Если вы используйте любую панель управления хостингом, тогда не делайте того что написано в этой статье, а изучите документацию к своей панели управления.
Установка разных версий PHP в Ubuntu
Руководство тестировалось для Ubuntu 22.04 LTS Jammy.
В Ubuntu для установки всех версий PHP используется репозиторий Ondřej Surý PPA. Репозиторий ondrej/php PPA содержит более актуальные версии PHP, чем официальные репозитории Ubuntu, а также позволяет устанавливать несколько версий PHP в одной системе.
Предварительно в вашей системе должна быть установлен утилита apt-add-repository, которая позволяет добавлять внешние репозитории:
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update -y
Чтобы установить любые модули PHP, просто укажите версию PHP и используйте функцию автозаполнения (жмем клавишу Tab) для просмотра всех модулей. Ниже список вариантов установки нужной вам версии PHP:
Для веб-сервера Apache:
apt install php5.6 [PHP 5.6] apt install php7.0 [PHP 7.0] apt install php7.1 [PHP 7.1] apt install php7.2 [PHP 7.2] apt install php7.3 [PHP 7.3] apt install php7.4 [PHP 7.4] apt install php8.0 [PHP 8.0]
Для веб-сервера Nginx:
apt install php5.6-fpm [PHP 5.6] apt install php7.0-fpm [PHP 7.0] apt install php7.1-fpm [PHP 7.1] apt install php7.2-fpm [PHP 7.2] apt install php7.3-fpm [PHP 7.3] apt install php7.4-fpm [PHP 7.4] apt install php8.0-fpm [PHP 8.0]
Проверьте версию PHP по умолчанию, используемую в вашей системе:
php -v PHP 8.1.6 (cli) (built: May 17 2022 16:46:54) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.6, Copyright (c) Zend Technologies with Zend OPcache v8.1.6, Copyright (c), by Zend Technologies
Чтобы изменить версию PHP по умолчанию используйте утилиту update-alternatives, в примере ниже сделаем основной версией PHP 7.1
update-alternatives --set php /usr/bin/php7.1
Установка разных версий PHP в CentOS
Для инсталляции несколько версии PHP в CentOS вы можете использовать Remi’s RPM repository или репозиторий SCL (Software Collections). В мануале будем использовать будем репозиторий Remi, так как в нем поддерживается большее количество разных версий PHP.
Предварительно установите репозиторий epel
yum -y install epel-release
CentOS 7:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm wget https://rpms.remirepo.net/enterprise/remi-release-7.rpm rpm -Uvh remi-release-7.rpm epel-release-latest-7.noarch.rpm
CentOS 8
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Для переключения версий PHP (только в текущей консоли) по умолчанию используйте утилиту scl (ключ l выводит список версий php):
$ scl enable php82 bash $ php -v PHP 7.2.8 (cli) (built: Jul 17 2018 05:35:43) ( NTS )
Жесткое изменения на уровне ОС PHP по умолчанию:
rm /usr/bin/php cp /opt/remi/php82/root/usr/bin/php /usr/bin/php
Тестирование вместо Заключения
Для того чтобы узнать какая версия PHP подключена для вашего сайта используйте phpinfo.
Читайте также
Простая установка LEMP (LNMP) сервера (Linux Nginx PHP MySQL)
Простая установка LAMP сервера (Linux Apache PHP MySQL)
Установить PHP 8 отдельно от PHP 7 — Centos 7
спросил
Изменено
2 года, 1 месяц назад
Просмотрено
2к раз
Моя производственная машина Centos 7 работает под управлением PHP 7.4, но я хотел бы протестировать код на PHP 8. Через несколько дней при форматировании нового сервера я попробовал yum-config-manager --enable remi-php8
, но это нарушило настройку, поскольку в моем PHP-коде была проблема с TCPDF, которая не работала в PHP 8, поэтому мне пришлось перейти на PHP 7.4.
Есть ли в Centos возможность иметь обе версии и переключаться по запросу? Так что я могу протестировать, но в то же время сохранить рабочую часть нетронутой.
Запуск nginx.
- centos
- php
Коллекции программного обеспечения (SCL) предназначены для параллельной установки рядом с версией системы по умолчанию, что позволяет запускать несколько версий одновременно.
Это описано в Советах по настройке PHP, особенно переключение на FPM для пользователей httpd (как mod_php, используется по умолчанию в CentOS 7, разрешается только одна версия). Пользователи Nginx всегда используют FPM.
В remi-репозитории вы можете найти PHP от 5.6 до 8.0 как SCL.
Для правильной установки следуйте инструкциям мастера (и выберите «несколько версий»).
У меня была похожая цель, но я пошел немного другим путем:
Я хотел иметь возможность тестировать более новые версии PHP, а также производственную версию, и запускать тестовые случаи для них.
Я начал с использования vagrant, который, по сути, представляет собой способ инициализации ваших виртуальных машин. конфигурация находится в коде в форме VagrantFile. Мне понравилось, что это позволило мне настроить абсолютно одинаковые среды и протестировать новые версии PHP, не меняя остальную часть системы. То, как я это настроил, в основном сопоставляет вашу папку
src
с виртуальной машиной, и вы выключены.
Это также означало, что любой разработчик, проверяющий код, сможет запустить среду разработки, точно такую же, как и та, которую используют все остальные разработчики.
Это дальнейшее развитие описанного мной сценария и по сути является альтернативным маршрутом. те же характеристики, что и у моей рабочей среды, я решил перейти на докер. накладные расходы меньше, и кажется, что докер легче запускать в разных ОС, поэтому, по сути, я сделал то же самое в докере, а это означает, что настроить CI/CD легко, поскольку многие из этих инструментов имеют встроенную интеграцию с докером. в.
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.
Установите PHP 7.4 / 7.3 / 7.2 на CentOS 7 / RHEL 7 и CentOS 6 / RHEL 6
PHP — широко используемый язык программирования с открытым исходным кодом для веб-разработки, созданный Расмусом Лердорфом. Это встроенный в HTML язык сценариев для создания динамических веб-сайтов.
CentOS 7/6 поставляется с PHP 5.x по умолчанию, который уже устарел.
В этом посте мы увидим, как установить PHP 7.4 / 7.3 / 7.2 на CentOS 7 / RHEL 7 и CentOS 6 / RHEL 6.
Добавить репозиторий PHP 7.x
Remi, сторонний репозиторий, предлагающий последнюю версию PHP (7.4/7.3/7.2/7.1) для CentOS.
Чтобы включить репозиторий Remi, установите пакет автоматической настройки репозитория Remi.
### CentOS 7/RHEL 7 ### yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum установить -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm ### CentOS 6/RHEL 6 ### yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm yum install -y https://rpms.remirepo.net/enterprise/remi-release-6.rpm
Установите PHP 7.x на CentOS 7 и CentOS 6
Установите PHP 7.4 на CentOS 7
Используйте приведенную ниже команду для установки пакета PHP 7.4, временно включив репозиторий Remi PHP 7.4.
Remi не предоставляет пакеты PHP 7.4 для CentOS 6
yum install -y --enablerepo=remi-php74 php php-cli
Установите PHP 7.3 на CentOS 7 и CentOS 6
Используйте приведенную ниже команду для установки PHP 7.3, временно включив репозиторий Remi PHP 7.3.
yum install -y --enablerepo=remi-php73 php php-cli
Установите PHP 7.2 на CentOS 7 и CentOS 6
Используйте приведенную ниже команду для установки пакета PHP 7.2, временно включив репозиторий Remi PHP 7.2.
yum install -y --enablerepo=remi-php72 php php-cli
Установите PHP 7.
1 на CentOS 7 и CentOS 6
Используйте приведенную ниже команду для установки пакета PHP 7.1, временно включив репозиторий Remi PHP 7.1.
yum install -y --enablerepo=remi-php71 php php-cli
Проверьте версию PHP
После установки необходимой версии PHP проверьте версию PHP с помощью следующей команды.
php -v
Вывод:
PHP 7.4.1 (cli) (построено: 17 декабря 2019 г., 16:35:58) ( NTS ) Авторское право (c) Группа PHP Zend Engine v3.4.0, Copyright (c) Zend Technologies
Установка расширений PHP
Расширения PHP представляют собой скомпилированные библиотеки, которые обеспечивают определенные функции/поддержку вашего кода. Например, установка расширения PHP MySQL позволит вашему PHP-коду подключаться к базе данных MySQL.
Пакет расширений PHP обычно называется php-
Чтобы установить поддержку MySQL, вы можете установить пакет php-mysqlnd.
yum install -y --enablerepo= remi-php74 php-mysqlnd
После того, как вы установили определенное расширение, вы можете использовать приведенную ниже команду, чтобы проверить его.
php -m | grep -i mysql
Вывод:
mysqli mysqlnd pdo_mysql
Расширения PHP для WordPress
Следующие расширения достаточно хороши для установки и запуска WordPress в вашей системе CentOS. WordPress рекомендует установить PHP v7.3.
yum install -y --enablerepo=remi-php73 php-dom php-simplexml php-ssh3 php-xml php-xmlreader php-curl php-date php-exif php-filter php-ftp php-gd php-hash php -iconv php-imagick php-json php-libxml php-mbstring php-mysqlnd php-openssl php-pcre php-posix php-sockets php-spl php-tokenizer php-zlib
Расширения PHP для Joomla
Следующие расширения достаточно хороши для установки и запуска Joomla в вашей системе CentOS. Для Joomla требуется PHP версии 7.1 и выше.
yum install -y --enablerepo=remi-php73 php-mysqlnd php-zlib php-xml php-pear php-json php-mcrypt
Расширения PHP для Drupal
Следующие расширения достаточно хороши для установки и запуска Joomla в вашей системе CentOS.