Вопрос или проблема
Я только что установил Ubuntu 24, затем установил LAMPP от Apachefriend.
LAMPP с PHP 8.2.4
Мне нужно обновить до PHP 8.3
Я следовал этому шагу: https://www.linuxtechi.com/how-to-install-php-on-ubuntu/
Когда я набираю “php -v”, мне показывает 8.3, но если проверяю с моего сайта (у меня Joomla), мне показывает все еще 8.2.4
Как я могу использовать PHP 8.3?
Спасибо всем
Если CLI возвращает PHP 8.3, вы почти у цели. Затем вам нужно указать Apache использовать 8.3. Вы можете сделать это через командную строку, используя следующий процесс:
- Отключите PHP 8.2:
sudo a2dismod php-8.2
- Включите PHP 8.3:
sudo a2enmod php-8.3
- Перезапустите Apache:
sudo service apache2 restart
После этого Joomla должна показать PHP 8.3.
Спасибо за ваш ответ.
Я только что попробовал.
Когда я пытаюсь отключить PHP 8.2, я получаю:
ОШИБКА: Модуль php-8.2 не существует!
Кажется, LAMPP от Apachefriends является независимым и использует свой собственный PHP.
Это возможно?
Как я могу обновить его до 8.3?
.
Ответ или решение
Для успешного обновления версии PHP в LAMPP на Ubuntu 24 до версии PHP 8.3, важно понимать, как LAMPP функционирует и как он взаимодействует с системой. LAMPP (также известный как XAMPP) представляет собой пакет, который объединяет Apache, MySQL, PHP и Perl для удобства управления веб-сервером при разработке. Этот пакет независим от системных версий Apache и PHP, что объясняет, почему ваш CLI показывает одну версию PHP, а приложения – другую.
Теория
XAMPP/LAMPP хранит все свои компоненты, включая PHP, в собственной директории, что означает, что системные команды и служебные программы могут показать различную информацию о версиях установленных пакетов. Когда вы запускаете php -v
в терминале, вы, скорее всего, обращаетесь к версии PHP, установленной в системе (или отдельно, через пакетный менеджер Ubuntu), а не к той, которая используется внутри LAMPP.
Пример
Чтобы проиллюстрировать данный процесс, представим себе ситуацию с двумя параллельными установками PHP на компьютере. Одна установка может быть частью LAMPP, другая установлена напрямую через APT (менеджер пакетов Ubuntu). В этом случае запуск PHP через командную строку может привести к использованию системной версии PHP, в то время как веб-сервер Apache, работающий в рамках LAMPP, использует его собственную версию PHP.
Применение
Теперь перейдем к практическим шагам по обновлению версии PHP в вашем LAMPP до 8.3. Это потребует загрузки нового PHP пакета и замены текущей версии PHP в LAMPP. Вот пошаговая инструкция:
-
Скачивание и подготовка PHP 8.3:
Начнем с загрузки соответствующего PHP 8.3 пакета. В командной строке выполните:
wget https://www.php.net/distributions/php-8.3.0.tar.gz
Распакуйте загруженный файл:
tar -xvzf php-8.3.0.tar.gz
-
Резервное копирование текущей версии PHP в LAMPP:
Перед заменой очень важно сделать резервную копию текущей установки PHP в LAMPP. Перейдите в каталог, где установлен LAMPP (типично
/opt/lampp
), и сделайте резервную копию директории PHP.sudo cp -r /opt/lampp/php /opt/lampp/php_backup
-
Установка PHP 8.3 в LAMPP:
Перейдите в директорию распакованного PHP и соберите его:
cd php-8.3.0 ./configure --prefix=/opt/lampp/php --with-apxs2=/opt/lampp/bin/apxs make sudo make install
В этом процессе
--prefix
указывает, куда будут установлены файлы PHP, чтобы замещать старую версию внутри LAMPP. -
Конфигурация и перезапуск LAMPP:
После успешной установки необходимо перезапустить LAMPP для применения изменений:
sudo /opt/lampp/lampp restart
-
Проверка:
Теперь, когда LAMPP запущен с новой версией PHP, проверьте версию PHP на вашем сервере, чтобы убедиться в том, что новая версия используется. Создайте небольшой PHP-скрипт, например,
phpinfo.php
, в корневой директории вашего веб-сервера (типично/opt/lampp/htdocs
):<?php phpinfo(); ?>
После этого зайдите по адресу
http://localhost/phpinfo.php
в вашем браузере. Это должен быть PHP 8.3.
Заключение
Процесс обновления версии PHP в LAMPP может показаться сложным из-за необходимости работы с файлами на более низком уровне и осознания независимости LAMPP от системных установок. Тем не менее, следуя шагам выше, вы сможете успешно обновить версию PHP до необходимой вам. Также не забывайте регулярно архивировать ваши конфигурации и данные перед внесением значительных изменений, чтобы избежать потерь информации.
Если у вас возникнут ошибки при процессе, стоит внимательно проверить все шаги и убедиться, что конфигурации совпадают с вашей системой, а также, что все зависимости для сборки PHP удовлетворены.