Как установить php на linux
Перейти к содержимому

Как установить php на linux

  • автор:

How To Install PHP 8.1 on Ubuntu 22.04

Smit Pipaliya

PHP is a popular server scripting language known for creating dynamic and interactive web pages. Getting up and running with your language of choice is the first step in learning to program.

PHP is a general-purpose scripting language suitable for web development. Most websites out there are programmed using PHP language because it is:

  • Fast — PHP is fast because it runs on its own memory space. Also, PHP has a Zend engine that parses PHP code and turns it into opcodes which are then interpreted.
  • Flexible — PHP is flexible because it allows for almost all databases. MySQL is the de-facto database to connect to because it is open source.
  • Free and open source
  • PHP is forgiving — Why do we say PHP is forgiving? It is forgiving meaning its learning is not so hard and therefore suitable for almost all programmers starting out.
  • PHP supports major communication protocols i.e LDAP, IMAP, POP3.

This tutorial will guide you through installing PHP 8.1 on Ubuntu and setting up a local programming environment via the command line. You will also install a dependency manager, Composer, and test your installation by running a script.

PHP 8.1 is the latest PHP version released in 2021. In this guide, you are going to learn how to install the latest PHP version which is currently 8.1 on your Ubuntu 22.04 system or server, and configure it with Apache and Nginx. You will also learn how to upgrade your PHP version to the latest.

Below is a summarised list of the new key features witnessed in the PHP 8.1 release:

  • Readonly properties — Class properties can be marked as read-only hence can only be written once
  • Support for DNS-over-HTTPS (DoH)
  • AVIF Image Format support — PHP 8.1’s image processing and GD extension add support for AVIF images.
  • Never Return Type — A new return type hint called never is added in PHP 8.1
  • Added support for Fibers — The low-level mechanism to manage parallelism
  • PHP 8.1 adds array_is_list as a built-in function
  • File Uploads with CURLStringFile — In PHP 8.1, the PHP Curl extension now supports HTTP(S) requests with file uploads
  • Enums — They are now added in PHP 8.1
  • New fdatasync() and fsync() Functions
  • New Sodium XChaCha20 functions
  • The addition of pure intersection types feature
  • Explicit Octal Numeral Notation
  • Define final Class Constants
  • MurmurHash3 hash algorithm support
  • Intersection Types
  • xxHash hash algorithms support

This tutorial will guide you through installing PHP 8.1 on Ubuntu and setting up a local programming environment via the command line.

Installing PHP 8.1 on Ubuntu 22.04

1. Run system updates

The first thing to do in a new system is to update our repositories in order to make them up to date. Run upgrade command also.

2. Add Ondrej sury PPA repository

To run PHP 8.1 on Ubuntu 22.04, we need to add Ondrej sury PPA into our system. This is the maintainer of the PHP repository at the moment. This PPA is not currently checked so installing from it will not be guaranteed 100% results.

To add this PPA use the following command on our terminal.

After installation is complete we need to update the repositories again for the changes to take effect.

3. Install PHP 8.1 on Ubuntu 22.04

We should now be able to install PHP 8.1 on Ubuntu 22.04 Linux machine. The commands to run are as shared below:

Check for the currently active version of PHP with the following command:

4. Install PHP 8.1 Extensions

Besides PHP itself, you will likely want to install some additional PHP modules. You can use this command to install additional modules, replacing PACKAGE_NAME with the package you wish to install:

You can also install more than one package at a time. Here are a few suggestions of the most common modules you will most likely want to install:

This command will install the following modules:

  • php8.1-cli — command interpreter, useful for testing PHP scripts from a shell or performing general shell scripting tasks
  • php8.1-common — documentation, examples, and common modules for PHP
  • php8.1-mysql — for working with MySQL databases
  • php8.1-zip — for working with compressed files
  • php8.1-gd — for working with images
  • php8.1-mbstring — used to manage non-ASCII strings
  • php8.1-curl — lets you make HTTP requests in PHP
  • php8.1-xml — for working with XML data
  • php8.1-bcmath — used when working with precision floats

PHP configurations related to Apache are stored in /etc/php/8.1/apache2/php.ini . You can list all loaded PHP modules with the following command:

You have installed PHP and verified the version you have running. You also installed any required PHP modules and were able to list the modules that you have loaded.

You could start using PHP right now, but you will likely want to use various libraries to build PHP applications quickly. Before you test your PHP environment, first set up a dependency manager for your projects.

Как установить php на linux

Раздел содержит информацию и подсказки, относящиеся к установке PHP на » Debian GNU/Linux.

Неофициальные сборки от третьих лиц не поддерживаются. О любых ошибках следует сообщать разработчикам Debian, но перед этим стоит проверить, возможно они уже исправлены в новых релизах, которые можно скачать на » странице загрузки.

Хотя и существует универсальная инструкция по установке PHP на Unix/Linux, в этом разделе мы рассмотрим особенности специфичные для Debian, такие как использование команд apt или aptitude . В рамках этого руководства обе эти команды рассматриваются как взаимозаменяемые.

Использование APT

Во первых, обратите внимание на то, что некоторые пакеты связаны: libapache-mod-php нужен для интеграции с Apache 2, и php-pear с PEAR.

Во-вторых, перед установкой убедитесь, что список пакетов находится в актуальном состоянии. Как правило, это делается с помощью команды apt update.

Пример #1 Пример установки Apache 2 на Debian

APT автоматически установит модуль PHP для Apache 2 и все их зависимости и, затем, активирует их. Apache должен быть перезапущен для того, чтобы изменения вступили в силу. Например:

Пример #2 Остановка и запуск Apache после установки PHP

Контроль конфигурации

Изначально, PHP устанавливается только с основными модулями ядра. Если вы хотите установить дополнительные модули, такие как MySQL, cURL, GD и т.д., это также можно сделать с помощью команды apt .

Пример #3 Способы получить список дополнительных пакетов PHP

Будет выведен список большого числа пакетов, включая несколько специфичных, таких как php-cgi, php-cli and php-dev. Определите, какие вам нужны и установите с помощью apt-get или aptitude . И, так как Debian производит проверку зависимостей, вам будет выведен запрос на их установку.

Пример #4 Установка PHP с MySQL и cURL

APT автоматически добавит необходимые строки в соответствующие php.ini , /etc/php/7.4/php.ini , /etc/php/7.4/conf.d/*.ini , и т.д. В зависимости от модуля, будут внесены записи типа extension=foo.so . В любом случае, чтобы эти изменения вступили в силу, необходимо будет перезапустить сервер веб-сервер.

Стандартные проблемы

  • Если скрипты PHP не разбираются веб-сервером, то скорее всего это означает, что PHP не был добавлен в конфигурацию веб-сервера. На Debian это обычно /etc/apache2/apache2.conf или похожий. Смотрите документацию Debian для выяснения подробностей.
  • Модуль, по-видимому, установлен, а его функции всё равно не распознаются. В таком случае убедитесь, что соответствующий ini-файл был загружен и/или веб-сервер был перезагружен после установки модуля.
  • Для установки пакетов в Debian существуют две основных команды (не считая стандартных вариантов Linux): apt и aptitude . Объяснения их синтаксиса, особенностей и отличий друг от друга выходит за рамки данного руководства.

User Contributed Notes 6 notes

To refresh this document, perhaps it would be worth mentioning more modern methods to serve php content under apache httpd.

Specifically, the preferred method is now fastcgi, using either of those recipes:

While the legacy mod_php approach is still applicable for some older installations, the fastcgi method is much faster, and require much less RAM to operate, based on similar traffic patterns.

Compiling PHP on Ubuntu boxes.

If you would like to compile PHP from source as opposed to relying on package maintainers, here’s a list of packages, and commands you can run

STEP 1:
sudo apt-get install autoconf build-essential curl libtool \
libssl-dev libcurl4-openssl-dev libxml2-dev libreadline7 \
libreadline-dev libzip-dev libzip4 nginx openssl \
pkg-config zlib1g-dev

So you don’t overwrite any existing PHP installs on your system, install PHP in your home directory. Create a directory for the PHP binaries to live

STEP 2:
# download the latest PHP tarball, decompress it, then cd to the new directory.

STEP 3:
Configure PHP. Remove any options you don’t need (like MySQL or Postgres (—with-pdo-pgsql))

./configure —prefix=$HOME/bin/php-latest \
—enable-mysqlnd \
—with-pdo-mysql \
—with-pdo-mysql=mysqlnd \
—with-pdo-pgsql=/usr/bin/pg_config \
—enable-bcmath \
—enable-fpm \
—with-fpm-user=www-data \
—with-fpm-group=www-data \
—enable-mbstring \
—enable-phpdbg \
—enable-shmop \
—enable-sockets \
—enable-sysvmsg \
—enable-sysvsem \
—enable-sysvshm \
—enable-zip \
—with-libzip=/usr/lib/x86_64-linux-gnu \
—with-zlib \
—with-curl \
—with-pear \
—with-openssl \
—enable-pcntl \
—with-readline

STEP 4:
compile the binaries by typing: make

If no errors, install by typing: make install

STEP 5:
Copy the PHP.ini file to the install directory

/bin/php-latest/etc;
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf

STEP 7:
create symbolic links for your for your binary files

/bin
ln -s php-latest/bin/php php
ln -s php-latest/bin/php-cgi php-cgi
ln -s php-latest/bin/php-config php-config
ln -s php-latest/bin/phpize phpize
ln -s php-latest/bin/phar.phar phar
ln -s php-latest/bin/pear pear
ln -s php-latest/bin/phpdbg phpdbg
ln -s php-latest/sbin/php-fpm php-fpm

STEP 8: link your local PHP to the php command. You will need to logout then log back in for php to switch to the local version instead of the installed version

# add this to .bashrc
if [ -d «$HOME/bin» ] ; then
PATH=»$HOME/bin:$PATH»
fi

How to Install PHP on Linux?

PHP is a general-purpose scripting language that is especially used in web development. It was created in 1994 by Rasmus Lerdorf. It is used to manage dynamic content, databases, session tracking, and build entire e-commerce websites and Linux is an open-source operating system. It was first released on 17 September 1991 by Linus Torvalds. In this article, we will know that How can we install PHP on Linux operating system.

Prerequisites:

  • An ANSI C compiler.
  • Module-specific components like GD graphics libraries or PDF libraries.
  • Optional: Autoconf 2.59+ (for PHP versions < 7.0), Autoconf 2.64+ (for PHP versions > 7.2), Automake 1.4+, Libtool 1.4+, re2c 0.13.4+, and Bison.

Installing PHP on Linux:

Follow the below steps to install PHP on Linux:

Step 1: Open your terminal in Linux

On your Linux computer open the terminal. You can also open the terminal by using Ctrl+Alt+T.

 terminal in Linux

Step 2: Update your packages

On your terminal update your packages using the following command.

updating packages

Step 3: Upgrade your packages

Now install available upgrades of all packages currently installed on the system using the following command.

upgrading packages

Step 4: Install PHP

Now we are ready to install PHP. The following command will install PHP on our system.

installing php on linux

After entering the above command a prompt will appear enter Y and press enter key. Within few minutes the latest version of PHP along with several extensions will install on your Linux system.

You can verify the PHP version after installation using the following command.

verifying php installation on Linux

As you can see the output PHP version shown that means we have successfully installed PHP in our system.

Установка PHP в Ubuntu

PHP — это очень популярный скриптовый язык программирования с открытым исходным кодом, который часто используется для разработки веб-сайтов и веб-приложений. PHP означает рекурсивный акроним от PHP Hypertext Processor. Скрипты выполняются на стороне сервера и могут находиться как в отдельных файлах, так и быть встроенными в HTML.

На данный момент официально поддерживается три версии PHP — это 5.6, 7.4 и 8. Предыдущие версии больше не получают обновлений безопасности. В этой статье мы рассмотрим как выполняется установка PHP Ubuntu. Будем устанавливать только поддерживаемые версии. Кроме того, рассмотрим как установить расширения для Apache, а также изменить версию по умолчанию.

Установка PHP в Ubuntu

1. Версия по умолчанию — 7.4

PHP версии 7.4 поставляется в официальных репозиториях Ubuntu, поэтому если вы хотите эту версию, то можете очень просто установить ее с помощью команды apt. Сначала смотрим информацию:

sudo apt show php

Теперь для установки версии из репозиториев наберите:

sudo apt install php

Для того чтобы интерпретатор php работал с Apache необходимо установить ещё этот пакет:

sudo apt install libapache2-mod-php

После этого можно посмотреть версию php в терминале:

2. Устаревшая версия — 5.6

Если вам нужна другая версия PHP, например, 5.6, то вам придется добавить в систему репозиторий PPA. Сначала необходимо установить зависимости:

sudo apt install python-software-properties

Затем для добавления PPA репозитория выполните:

sudo add-apt-repository ppa:ondrej/php

Теперь вы можете установить php ubuntu нужной вам версии. В данном случае 5.6. Для Apache выполните такие команды:

sudo apt install php5.6 libapache2-mod-php5.6

Затем можно смотреть версию:

Обратите внимание, что установленная версия PHP не конфликтует с версией из официальных репозиториев. Обе версии могут существовать в системе и между ними можно переключаться.

3. Новая версия — 8.0

На момент написания статьи, версия PHP 8.0 вышла относительно недавно и в официальных репозиториях LTS релиза Ubuntu её нет. В этой версии было много улучшений и исправлений и если вы хотите её попробовать, то можете установить из того же самого PPA:

sudo add-apt-repository ppa:ondrej/php

Затем, как и в предыдущем пункте необходимо указать версию php, которая вам нужна в команде установки:

sudo apt install php8.0 libapache2-mod-php8.0

После завершения установки интерпретатор появится в системе:

Установка расширений PHP

Не зависимо от того какую версию PHP вы установили, обычно для полноценной работы программ необходимо ещё установить расширения. Вот основные расширения, которые требуются чаще всего:

  • php-curl — поддержка библиотеки CURL для отправки сетевых запросов;
  • php-memcached — кэширование с помощью Memcache;
  • php-mysql — поддержка баз данных MySQL и MariaDB;
  • php-pgsql — поддержка PostgreSQL;
  • php-gd — обработка графики с помощью библиотеки GD;
  • php-imagick — обработка графики с помощью библиотеки ImageMagick;
  • php-intl — локализация и интернационализация;
  • php-mcrypt — шифрование;
  • php-xml — работа с XML файлами и DOM;
  • php-zip — работа с ZIP архивами;
  • php-mbstring — работа со строками содержащими UTF-8 символы, в том числе и кириллицу.

Для того чтобы установить все эти расширения для версии PHP по умолчанию выполните такую команду:

sudo apt install php-curl php-memcached php-mysql php-pgsql php-gd php-imagick php-intl php-mcrypt php-xml php-zip php-mbstring

Если надо установить расширения PHP для определённой версии, то следует указать эту версию в названии пакета:

sudo apt install php7.4-curl php7.4-memcached php7.4-mysql php7.4-pgsql php7.4-gd php7.4-imagick php7.4-intl php7.4-mcrypt php7.4-xml php7.4-zip php7.4-mbstring

Аналогично можно установить расширения для PHP 5.6 или 8.0.

Выбор версии PHP по умолчанию

Вы можете выбрать какую версию php нужно использовать по умолчанию с помощью утилиты update-alternatives. Сначала смотрим доступные версии:

sudo update-alternatives —config php

После этого следует ввести номер версии, которую вы хотите использовать по умолчанию:

Или можно сразу установить php ubuntu по умолчанию:

sudo update-alternatives —set php /usr/bin/php5.6

Чтобы используемая версия обновилась в Apache нужно подключить правильный модуль и перезагрузить веб-сервер. Например, для того чтобы отключить 7.4 и включить 5.6 выполните:

sudo a2dismod php7.4
sudo a2enmod php5.6
sudo systemctl restart apache2

Установка php 8 Ubuntu выполняется так же. Теперь вы знаете как переключить версию php Ubuntu. Установка и настройка PHP вместе с Nginx отдельная обширная тема и она описана в статье про настройку PHP-FPM.

Выводы

В этой статье мы рассмотрели как выполняется установка PHP 8 ubuntu 20.04 и других версиях системы. Теперь вы знаете как установить не только PHP 8, но и другие поддерживаемые версии. Как видите, это очень просто, вы можете получить нужную версию PHP буквально в несколько кликов. Надеюсь, эта информация была вам полезной.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *