- Установка и смена версий PHP: пошаговая инструкция
- Как установить PHP на сервер
- Ручная установка
- ISPmanager: установка php
- Как узнать версию PHP
- Узнаем версию через phpinfo()
- Через терминал
- Через ISPmanager
- Где находятся настройки версий PHP в ISPmanager
- Как выбрать версию PHP при работе в командной строке (SSH)
- Что делать, если не обрабатываются PHP-скрипты
- Заключение
- Установка разных версий PHP на Linux Ubuntu
- Установка PHP
- Установка базовой версии
- Установка определенной версии
- Выбор версии PHP по умолчанию
- Установка расширений
- Настройка PHP
- How to change PHP version in Ubuntu 20.04 console?
- 6 Answers 6
Установка и смена версий PHP: пошаговая инструкция
PHP — это скриптовый язык программирования, который обычно используется для разработки веб-приложений. С его помощью можно создавать динамические сайты, которые будут адаптировать страницы под конкретного пользователя. Такие сайты не хранятся на сервере в готовом виде, а создаются на сервере после запроса от пользователя. Это означает, что PHP — это серверный язык, т.е. написанные на нём скрипты выполняются на сервере, а не на компьютере пользователя.
Существует большое количество разных версий PHP. С появлением каждой новой версии, язык становится все более мощным и гибким, предлагая разработчикам больше возможностей для создания современных веб-приложений. Но не все сайты переходят или готовы перейти на более современную версию и остаются на старых.
Поэтому смена версий является необходимой задачей для многих веб-разработчиков. Некоторым из них хочется воспользоваться новыми функциями, которые появляются в новых версиях языка, а другим нужно устранить ошибки и улучшить безопасность уже существующего приложения. В этой статье мы разберем, как установить PHP на Ubuntu и как переключаться между разными версиями языка.
Как установить PHP на сервер
Установить PHP можно вручную или через панель управления, такую как ISPmanager. Разберем оба способа.
Ручная установка
Чтобы установить PHP на Ubuntu Server, совершите следующие действия:
sudo apt install build-essential libssl-dev
После этого PHP будет установлен на сервер. Осталось установить веб-сервер для работы с языком. Настройка может включать в себя указание модуля PHP в конфигурационном файле веб-сервера и настройку обработки файлов с расширением .php.
В конце перезапустите веб-сервер. Например, для перезагрузки Apache вы можете выполнить следующую команду:
sudo service apache2 restart
ISPmanager: установка php
ISPmanager — это панель управления веб-сервером. Она включает в себя множество функций, таких как управление доменами, аккаунтами пользователей, базами данных, почтовыми ящиками и многое другое. Панель управления может использоваться для настройки сервера, мониторинга ресурсов, а также для обеспечения безопасности и доступа к серверу.
Через ISPmanager вы можете управлять версиями PHP, в том числе и устанавливать дополнительные. Для установки выполните следующие шаги:
- Войдите в ISPmanager от имени администратора.
- Перейдите в раздел «Конфигурация ПО».
- Выберите нужную версию программного обеспечения:
Как узнать версию PHP
Есть несколько способов узнать, на какой версии работает сайт:
Узнаем версию через phpinfo()
- Сохраните файл в корневой директории веб-сайта (там, где расположен файл index.html или index.php).
- Откройте этот файл в браузере, набрав в адресной строке http://адрес_вашего_сайта/phpinfo.php .
Вы увидите страницу такую страницу с подробной информацией:
После того, как узнаете версию, не забудьте удалить файл phpinfo.php , так как он содержит важную информацию о конфигурации сервера, которую могут использовать злоумышленники.
Через терминал
Выполните в терминале команду:
Вы получите подобный вывод:
Через ISPmanager
В ISPmanager версия PHP, на которой работает сайт, находится в настройках сайта:
Где находятся настройки версий PHP в ISPmanager
В ISPmanager настройки версий расположены в разделе «Настройки» -> «Настройки PHP». Например, в этом разделе вы можете включить или отключить различные расширения PHP. Обратите внимание, что в ISPmanager вы можете управлять только теми версиями, которые уже установлены на сервере.
А вот как изменить версию php в ISPmanager :
Обратите внимание, что некоторые скрипты и расширения могут работать только с определенными версиями PHP. Перед тем, как сменить версию, убедитесь, что все скрипты и расширения, которые вы используете, поддерживают новую версию. В противном случае сайт может стать недоступен или работать некорректно.
Как выбрать версию PHP при работе в командной строке (SSH)
В некоторых случаях отсутствует возможность сменить версию через панель управления. В таких ситуациях можно воспользоваться командной строкой. Чтобы переключиться между установленными версиями на Ubuntu, следуйте этим шагам:
- Убедитесь, что у вас установлено несколько версий PHP. Чтобы увидеть список установленных пакетов, выполните эту команду:
- Установите пакет php-switch , который позволяет легко переключаться между установленными версиями PHP:
sudo apt-get install -y php-switch
- Воспользуйтесь командой php-switch , чтобы переключиться между установленными версиями PHP. Например, чтобы переключиться на PHP 7.4, выполните эту команду:
Помните, что при переключении между версиями PHP могут возникнуть проблемы совместимости с вашим кодом.
Что делать, если не обрабатываются PHP-скрипты
Если на вашем сервере не обрабатываются PHP-скрипты, то сначала следует проверить работу web-сервера. Откройте браузер и перейдите на страницу сайта, на котором не работают PHP-скрипты. Если страница открывается, но на ней не отображается результат работы PHP-скрипта, то возможно проблема с PHP.
Чтобы узнать, в чем заключается проблема, можно сделать следующее:
Для этого выполните команду, используя вашу версию php:
sudo service php7.4-fpm status
Если сервис запущен, то в выводе команды должно быть указано active (running) . Если сервис не запущен, то запустите его, используя команду:
sudo service php7.4-fpm start
Для этого можно использовать команду:
Эта команда выведет последние строки лог-файла PHP, что может помочь в определении проблемы.
Откройте файл php.ini в текстовом редакторе и проверьте, что опция display_errors установлена в значение On . Это позволит отображать ошибки PHP на страницах сайта.
Откройте скрипты в текстовом редакторе и поищите в них ошибки синтаксиса или другие ошибки, которые могут привести к неработоспособности скриптов.
Например, в файле .htaccess могут быть указаны ограничения на работу скриптов для определенных директорий.
Если скрипты работают на другом сервере, то возможно проблема с конфигурацией текущего сервера.
Заключение
Мы рассмотрели установку PHP на сервер вручную и с помощью популярной панели ISPmanager. Если вы используете другую панель, возможно, вам пригодятся наши инструкции из Базы знаний по настройке PHP в панелях Fastpanel и ISPConfig.
Установка разных версий PHP на Linux Ubuntu
Обновлено: 03.04.2023 Опубликовано: 06.11.2021
В Ubuntu можно легко управлять несколькими версиями PHP. Мы рассмотрим процесс установки разных версий PHP и жонглирования ими.
Установка PHP
В зависимости от необходимой версии PHP и версии Ubuntu, подход к установке может отличаться.
Установка базовой версии
Это самый простой способ. Каждая версия Ubuntu в своем репозитории содержит соответствующую версию PHP.
Посмотреть, какая версия будет установлена из репозитория системы можно командой:
apt search —names-only ‘^php[.0-9]$’
Установка выполняется одной командой:
Установка определенной версии
Если нам необходима версия PHP, которой нет в репозитории, выполняем установку дополнительного — для этого вводим две команды:
apt install software-properties-common
.
FileNotFoundError: [Errno 2] No such file or directory: ‘gpg’
Устанавливаем gnupg-agent:
Теперь можно установить нужную версию интерпретатора:
Выбор версии PHP по умолчанию
Посмотреть текущую версию php, которая работает по умолчанию можно командой:
Сменить версию по умолчанию:
update-alternatives —config php
There are 2 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
————————————————————
* 0 /usr/bin/php8.0 80 auto mode
1 /usr/bin/php7.4 74 manual mode
2 /usr/bin/php8.0 80 manual mode
* в данном примере используется версия php8 как версия по умолчанию.
Для смены, система предложит нам выбрать версию из списка:
Press to keep the current choice[*], or type selection number: 1
* так мы переключимся на php7.4.
Установка расширений
Расширения устанавливаются с синтаксисом:
Для версии, которая идет по умолчанию в репозитории, установку можно выполнить так:
В остальных случаях обязательно указываем версию:
Настройка PHP
В Ubuntu настройки PHP находятся в разных файлах — для каждой версии и для каждой системы, которая обрабатывает запросы.
Например, для php версии 8.0, которая будет запускаться из командной строки, файл будет:
How to change PHP version in Ubuntu 20.04 console?
How can I change the PHP version used in console on Ubuntu 20.04? I have all versions in the /etc/php folder, but I don’t know where the configuration for the command line version is.
6 Answers 6
You can do this with update-alternatives . If you would like to do this interactively, you can do this:
sudo update-alternatives --config php
If you like to specifically choose the PHP version (via an alias or whatnot), you can do this:
sudo update-alternatives --set php /usr/bin/php7.4
Of course, be sure to change php7.4 to the actual version you want to switch between.
Ok but it shows me this message: There is only one alternative in link group php (providing /usr/bin/php): /usr/bin/php7.2 Nothing to configure . I can see the usr/bin folder and theare really only php 7.2. Dont know what need to add there.
Please use following command which will ask you to select a number against your required PHP version
sudo update-alternatives --config php
Then select your choice and press enter.
Ok but it shows me this message: There is only one alternative in link group php (providing /usr/bin/php): /usr/bin/php7.2 Nothing to configure . I can see the usr/bin folder and theare really only php 7.2. Dont know what need to add there.
@Čamo it means you don’t have multiple versions installed. You can install other versions before switch to other version.
Did you install the cli? Do this first:
$ sudo apt install php7.4-cli
After that, you should see it listed under update-alternatives
$ update-alternatives --list php /usr/bin/php7.4 /usr/bin/php8.1
Thank you this answer work great for me, of course now in 2023 I’ve adapt it for PHP 8.2: apt install php8.2-cli And now when I do a «php -v» I get the following answer: PHP 8.2.3 (cli) (built: Feb 14 2023 16:57:30) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.3, Copyright (c) Zend Technologies with Zend OPcache v8.2.3, Copyright (c), by Zend Technologies Thank you!
i just try in Ubuntu20.04 and it works.
// to show the list php installed: sudo update-alternatives —config php
// choose number version that you wanna switch screenshoot switch php version in ubtuntu
alias setphp="sudo update-alternatives --config php;sudo update-alternatives --config phar; update-alternatives --config phar.phar; a2dismod php*.*;systemctl restart apache2"
Put the above alias in ~/.bashrc :
Then just run this command:
a2enmod php # like, a2enmod php7.4
Now you can run the command setphp from your terminal.
There are two methods to switch php versions on the command line ubuntu.
Run each command one by one and input the number of the php version you want to change.
sudo update-alternatives --config php sudo update-alternatives --config phar sudo update-alternatives --config phar.phar sudo service apache2 restart
If you want to change PHP 5.6 to 7.4 just run the below codes.
sudo a2dismod php5.6 sudo a2enmod php7.4 sudo service apache2 restart
If you want to change from PHP 7.4 to 5.6 run the below codes.
sudo a2dismod php7.4 sudo a2enmod php5.6 sudo service apache2 restart