- Как установить PHP на Linux
- Настройка веб-сервера
- Установка PHP
- Настройка xdebug
- How to start with PHP on Ubuntu
- 5 Answers 5
- How to Install PHP on Ubuntu Linux
- How to install PHP on Ubuntu with Apache support
- How to install PHP on Ubuntu Linux with Nginx support
- How to install PHP modules on Ubuntu Linux
- How to install the latest version of PHP on Ubuntu Linux
Как установить PHP на Linux
Настроить рабочее окружение для разработки на PHP в Linux возможно несколькими способами. Рассмотрим один из наиболее быстрых: настройка связки PHP и nginx.
Запустите приложение «Терминал». Ярлык на запуск доступен в менеджере приложений. Сначала обновим локальный индекс пакетов APT.
Настройка веб-сервера
Для работы с PHP нам потребуется веб-сервер. В репозиториях доступно несколько популярных веб-серверов, мы отдадим предпочтение nginx. Он хорошо работает и легко настраивается.
sudo apt-get install nginx
Затем запустим nginx. Запомните эту команду. Она пригодится для добавления новых виртуальных хостов.
nginx установлен и теперь нам требуется выполнить базовое конфигурирование. Наша цель — создать новый виртуальный хост, который будет доступен по адресу yourproject.local , где вместо yourproject может быть название вашего проекта.
Например: doingsdone.local , yeticave.local .
Обратите внимание, имена доменов не могут содержать пробелы. Определитесь с именем домена (далее «имя хоста для проекта»). Мы будем ориентироваться на проект yeticave.local , поэтому именно так будем называть конфигурационный файл. Перейдите в директорию sites-available . В этой директории nginx хранит конфигурационные файлы всех виртуальных хостов.
cd /etc/nginx/sites-available
Чтобы увидеть список всех доступных виртуальных хостов, выведите содержимое каталога:
Название конфигурационного файла должно совпадать с именем хоста. Поскольку мы планируем сделать конфигурационный файл для хоста yeticave.local , нам потребуется создать файл yeticave.local . Сделаем это:
Файл готов, теперь откроем его в консольном редакторе nano (установлен по умолчанию в большинстве современных дистрибутивов) и опишем минимальную конфигурацию.
Скопируйте в открытый файл yeticave.local ниже приведённый конфигурационный файл. Информацию обо всех непонятных строках вы сможете почерпнуть из официальной документации к nginx.
server < # Наш проект будет доступен на 80 порту listen 80; # Имя виртуального хоста server_name yeticave.local; # Корневая директория проекта. root /home/administrator/www/yeticave.local; # Имя индексного файла. index index.php; # Настройки отдачи файлов location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ < access_log off; expires max; log_not_found off; >location / < try_files $uri $uri/ /index.php?$query_string; >location ~* \.php$ < try_files $uri = 404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; >location ~ /\.ht < deny all; >>
Обратите внимание на номер версии PHP. На момент написания статьи в репозиториях Ubuntu доступна версия 8.1. Если вы пользуетесь более старой версией ОС, то не забудьте обновить номер версии на свой.
Важно: в нашем конфиге файлы находятся в домашней директории пользователя Administrator . Ваше имя пользователя наверняка отличается, поэтому обратите на это внимание при написании пути.
Для сохранения изменений в файле нажмите комбинацию клавиш ctrl+o. Затем закройте редактор nano сочетанием клавиш ctrl+x.
Протестируем созданный конфигурационный файл на наличие ошибок:
Мы создали конфигурационный файл. Теперь активируем только что созданный виртуальный хост. Для этого перейдём в директорию sites-enabled и создадим в ней символическую ссылку на наш конфигурационный файл.
cd /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/yeticave.local
Если на текущем шаге попытаться открыть браузер и ввести в адресной строке http://yeticave.local , то ничего, кроме ошибки «Сервер не найден», мы не увидим. Исправим проблему добавлением новой записи в hosts :
В самом начале файла добавьте строку:
Обратите внимание, мы пишем только доменное имя без указания протокола (http). Сохраняем изменения ctrl+o и закрываем редактор nano сочетанием клавиш ctrl+ x.
Установка PHP
Последним компонентом в настройке рабочего окружения станет PHP.
Для начала давайте добавим новый репозиторий, который понадобится для установки свежей версии PHP. Этот репозиторий является официальным источником PHP-пакетов для Debian и Ubuntu:
sudo add-apt-repository ppa:ondrej/php
В окне терминала введите команду для установки php-fpm из репозитория.
sudo apt install php-fpm php-cli php-common php-json php-mysql php-phpdbg php-mbstring php-imap php-dev php-curl php-xdebug
Важно: обязательно обратите внимание на версию PHP. В зависимости от дистрибутива она может отличаться. Если номер версии отличается от той, что мы указали в конфигурационном файле yeticave.local , то необходимо её исправить.
Настройка xdebug
Вводим команду редактирования файла:
sudo nano /etc/php/8.1/mods-available/xdebug.ini
Добавляем в файл конфигурацию для xdebug:
xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.var_display_max_depth = -1 xdebug.var_display_max_children = -1 xdebug.var_display_max_data = -1 xdebug.idekey = "PHPSTORM":
Сохраняем изменения ctrl+o и закрываем редактор nano ctrl+x.
Внесём изменения в конфигурационный файл php, чтобы он выводил все ошибки в браузер, а не только в лог-файл.
sudo nano /etc/php/8.1/fpm/php.ini
Найдём, раскомментируем (уберём знак «;» или исправим значение) и установим значения для строк:
display_errors = On display_startup_errors = On error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
Сохраняем изменения ctrl+o, закрываем редактор ctrl+x.
Запускаем php-fpm . Выполняем команды:
sudo service php8.1-fpm stop sudo service php8.1-fpm start
Размещаем файлы проекта в директорию проекта. Директорию проекта вы указали в секции root , конфигурационного файла yeticave.local . Выставляем права:
sudo chmod -R 755 /home/administrator/www/yeticave.local
Открываем браузер и пробуем обратиться к http://yeticave.local.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
How to start with PHP on Ubuntu
I am newbie in PHP. I have successfully installed PHP on Ubuntu, now I want start my first program. I am using gPHPEdit as IDE. Where should I save .php files that I create? And how to run/test them?
5 Answers 5
Make sure you have LAMP installed. Do a sudo tasksel and select lamp then hit enter, its gotta be the most simple *amp install ever made. Its a good idea to install phpmyadmin: sudo apt-get install phpmyadmin . After that just copy the files to /var/www/ and then they will show up on http://localhost . I recommended using Eclipse PDT or the Netbeans build for PHP.
«its gotta be the most simple *amp install ever made.» +1 — I agree. I usually do sudo tasksel install lamp-server .
You should pick up a book or start following some good tutorials on the web.
If you are just scripting using php, you can save them anywhere and run the php on the terminal using the php command line interpreter.
If you are trying write web scripts (and I think you are), you need to install and configure a web server (typically apache) and save your scripts in the server’s document root (typically /var/www). Also, I highly recommend you to read up a little about servers and HTTP and figure out how all this works on the inside before learning to building websites in php.
Thanks for reply,Is there any good book or link which i should read before starting with php? I have folder Server’s document root(/var/www) but i am not able to save/paste files there, do u have any idea about this?
in unix systems, different users have permissions to edit and write different directories(folders). the /var/www directory is writable by root and not the normal user(by default). You can prefix commands with sudo and enter your root password (dont think ubuntu has any by default) to execute commands in root scope. If you are not using the terminal for all this stuff, you should learn some basic terminal commands.
If you cannot save or copy to var/www/html, to run your php scripts on your browser. If you are using Ubuntu 14.04. I followed these steps and it worked for me.
- Execute sudo su on the terminal.
- Enter your password
- Execute sudo subl /etc/apache2/sites-available/000-default.conf on your terminal to open this file. Note you can change the subl to any text editor to open the file e.g sudo nano /etc/apache2/sites-available/000-default.conf.
- Change DocumentRoot /var/www/html to /home/user/yoursubdir
- Save the file and close it.
- Execute sudo subl /etc/apache2/apache2.conf on your terminal to open this file.
- Add the following to end of the file
Options Indexes FollowSymLinks AllowOverride None Require all granted
How to Install PHP on Ubuntu Linux
This post shows students and new users steps to install and use PHP server-side programming languages on Ubuntu Linux with Apache or Nginx to support content management systems (CMS) written in PHP. Popular CMS frameworks like WordPress, Magento, Drupal, and many others, are written in PHP.
PHP supports and works with many types of web servers. You can use PHP with Apache, Nginx, and a few other open-source web servers. However, the vast majority of PHP implementations are integrated with Apache or Nginx web servers. Because of that, this post will only show you how to use PHP with Apache or Nginx on Ubuntu Linux.
PHP is always constantly being updated, so don’t be surprised that the versions installed here aren’t the latest. As of this writing, the latest PHP version is PHP 8.0.
If you’re a student or new user learning Linux, the easiest place to start learning is on Ubuntu Linux. Ubuntu is the modern, open-source Linux operating system for desktops, servers, and other devices.
To get started with installing PHP on Ubuntu Linux, follow the steps below.
How to install PHP on Ubuntu with Apache support
As mentioned above, PHP supports many web servers, including Apache, Nginx, and others. If you’re using an Apache web server, then the commands below are used to install PHP.
sudo apt update sudo apt install php libapache2-mod-php
After installing PHP, restart the Apache web server for PHP modules to apply. PHP is tightly integrated with Apache. If you change PHP and want it to apply, simply restart or reload Apache.
To do that, run the comments below.
sudo systemctl restart apache2
How to install PHP on Ubuntu Linux with Nginx support
If you’re running an Nginx web server, then the commands below will install PHP with support for Nginx.
Nginx doesn’t have built-in support for processing PHP files and is not tightly integrated as Apache. To add PHP support for Nginx, you will need to install and use PHP-FPM (FastCGI process manager) to handle the PHP files.
To do that, run the commands below.
sudo apt update sudo apt install php-fpm
Because PHP isn’t tightly integrated with Nginx, if you make changes to PHP, you must restart or reload PHP and Nginx separately for the changes to apply.
sudo systemctl restart php-fpm sudo systemctl restart nginx
Also, you must add these lines to the Nginx server block to allow Nginx to read PHP files. Remember to use the version of PHP installed and reference it in the highlighted line shown below.
How to install PHP modules on Ubuntu Linux
You have installed PHP, but many other modules are available to support and enhance PHP performance and functionality.
Below are some common PHP extensions and modules one can install.
php-common php-cli php-gd php-curl php-mysql
How to install the latest version of PHP on Ubuntu Linux
As mentioned above, the current version of PHP is 8.0. However, you will not see that version in Ubuntu repositories. The current latest in Ubuntu repositories is 7.4.
To install the latest of other versions of PHP that are not available in the Ubuntu repository, run the commands below to install a third-party PPA repository that includes multiple versions of PHP.
sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php
After adding the repository above, you can then install another PHP version.
sudo apt install php8.0 php8.0-common php8.0-cli php8.0-gd php8.0-curl php8.0-mysql
This post showed you how to install PHP on Ubuntu Linux with support for Apache or Nginx web servers. Please use the comment form below if you find any errors above or have something to add.
Richard W
I love computers; maybe way too much. What I learned I try to share at geekrewind.com.