Различия
Здесь показаны различия между двумя версиями данной страницы.
| Следующая версия | Предыдущая версия | ||
| wiki:php [2016/05/08 00:58] создано | wiki:php [2018/08/28 12:02] (текущий) [Ссылки] | ||
|---|---|---|---|
| Строка 4: | Строка 4: | ||
| ====== PHP ====== | ====== PHP ====== | ||
| {{http://static.php.net/www.php.net/images/php.gif?64 |}}**PHP** -- скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. | {{http://static.php.net/www.php.net/images/php.gif?64 |}}**PHP** -- скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. | ||
| + | |||
| + | ===== Версии PHP в Ubuntu ===== | ||
| + | |||
| + | ^ Ubuntu ^ PHP ^ | ||
| + | | 12.04 LTS (Precise) | 5.3 | | ||
| + | | 14.04 LTS (Trusty) | 5.5 | | ||
| + | | 15.10 (Wily) | 5.6 | | ||
| + | | 16.04 LTS (Xenial) | 7.0 | | ||
| + | | 18.04 LTS | 7.2 | | ||
| + | |||
| + | ===== Варианты использования PHP ===== | ||
| Интерпретатор PHP поставляется в нескольких вариантах для разных способов запуска и использования PHP: | Интерпретатор PHP поставляется в нескольких вариантах для разных способов запуска и использования PHP: | ||
| - | * Модуль для [[apache2|Apache]] | + | * Модуль для [[apache2|Apache]] libapache2-mod-php | 
| - | * FPM | + | * php-fpm и proxy_fcgi | 
| + | * php-cgi и libapache2-mod-fcgid | ||
| * CLI | * CLI | ||
| - | * CGI | ||
| Строка 21: | Строка 32: | ||
| ==== Настройка ==== | ==== Настройка ==== | ||
| - | Файлы настройки PHP модуля для Apache располагаются в директории ///etc/php/7.0/apache2//. Данная директория содержит: | + | Файлы настройки PHP модуля для Apache располагаются в директории ''/etc/php/7.0/apache2''. Данная директория содержит: | 
| - | * //conf.d// - директория с настройками активных PHP-модулей; | + | * ''conf.d'' - директория с настройками активных PHP-расширений; | 
| - | * //php.ini// - файл настройки PHP. | + | * ''php.ini'' - файл настройки PHP. | 
| - | После изменения файлов настройки PHP или изменения PHP-модулей требуется перезапуск сервера Apache: | + | После изменения файлов настройки PHP или изменения PHP-расширений требуется перезапуск сервера Apache: | 
| <code bash>sudo service apache2 reload</code> | <code bash>sudo service apache2 reload</code> | ||
| ==== Проверка работы ==== | ==== Проверка работы ==== | ||
| - | В директории ///var/www/html// (или в корне любого другого виртуального хоста) создайте файл //test.php// и запишите в него следующую строку: | + | В директории ''/var/www/html'' (или в корне любого другого виртуального хоста) создайте файл ''test.php'' и запишите в него следующую строку: | 
| <file=php><?php phpinfo();</file> | <file=php><?php phpinfo();</file> | ||
| Теперь попробуйте в своем браузере перейти на созданную страницу [[http://localhost/test.php]]. Если вы видите описание установленного PHP, значит вы все настроили правильно. | Теперь попробуйте в своем браузере перейти на созданную страницу [[http://localhost/test.php]]. Если вы видите описание установленного PHP, значит вы все настроили правильно. | ||
| - | ===== FPM ===== | + | ===== php-fpm ===== | 
| FPM (менеджер процессов FastCGI) является альтернативной реализацией PHP FastCGI с несколькими дополнительными возможностями, обычно используемыми для высоконагруженных сайтов. | FPM (менеджер процессов FastCGI) является альтернативной реализацией PHP FastCGI с несколькими дополнительными возможностями, обычно используемыми для высоконагруженных сайтов. | ||
| Строка 41: | Строка 52: | ||
| Для установки выполните: | Для установки выполните: | ||
| - | <code bash>sudo apt-get install php-fpm</code> | + | <note important>Если установлен libmod-php то его надо сначала выключить sudo a2dismod a2dismod php7.2.conf</note> | 
| + | <code bash>sudo apt-get install php-fpm | ||
| + | sudo a2enmod proxy_fcgi | ||
| + | sudo a2enconf php7.2-fpm.conf</code> | ||
| ==== Настройка ==== | ==== Настройка ==== | ||
| - | Файлы настройки PHP в виде модуля для Apache располагаются в директории ///etc/php/7.0/fpm//. Данная директория содержит: | + | Файлы настройки PHP в виде модуля для Apache располагаются в директории ''/etc/php/7.0/fpm''. Данная директория содержит: | 
| - | * //conf.d// - директория с настройками активных PHP-модулей; | + | * ''conf.d'' - директория с настройками активных PHP-расширений; | 
| - | * //pool.d// - директория с настройками FPM; | + | * ''pool.d'' - директория с настройками FPM; | 
| - | * //php-fpm.conf// - файл настройки FPM; | + | * ''php-fpm.conf'' - файл настройки FPM; | 
| - | * //php.ini// - файл настройки PHP. | + | * ''php.ini'' - файл настройки PHP. | 
| - | После изменения файлов настройки PHP или изменения PHP-модулей требуется перезапуск FPM: | + | После изменения файлов настройки PHP или изменения PHP-расширений требуется перезапуск FPM: | 
| - | <code bash>sudo service php7.0-fpm reload</code> | + | <code bash>sudo service php7.0-fpm reload | 
| + | sudo systemctl restart apache2</code> | ||
| Строка 66: | Строка 81: | ||
| ==== Настройка ==== | ==== Настройка ==== | ||
| - | Файлы настройки CLI располагаются в директории ///etc/php/7.0/cli//. Данная директория содержит: | + | Файлы настройки CLI располагаются в директории ''/etc/php/7.0/cli''. Данная директория содержит: | 
| - | * //conf.d// - директория с настройками активных PHP-модулей; | + | * ''conf.d'' - директория с настройками активных PHP-расширений; | 
| - | * //php.ini// - файл настройки PHP. | + | * ''php.ini'' - файл настройки PHP. | 
| - | ===== PHP модули ===== | + | ===== PHP расширения ===== | 
| - | Для того, чтобы подключить к PHP необходимый дополнительный модуль, надо установить его. Ниже показана установка некоторых модулей. | + | Дополнительный функционал в PHP реализован с помощью расширений. Некоторые расширения могут сразу поставляться с интерпретатором, а некоторые расширения следует устанавливать дополнительно. | 
| - | Подключение модуля GD: | + | ==== Установка ==== | 
| + | |||
| + | Для того, чтобы подключить к PHP необходимое расширение, надо установить его. Ниже показаны примеры установки некоторых расширений. | ||
| + | |||
| + | Подключение расширения GD: | ||
| <code bash>sudo apt-get install php-gd</code> | <code bash>sudo apt-get install php-gd</code> | ||
| - | Подключение модуля MySQL: | + | Подключение расширения MySQL: | 
| <code bash>sudo apt-get install php-mysql</code> | <code bash>sudo apt-get install php-mysql</code> | ||
| - | Подключение модуля Mcrypt: | + | Подключение расширения Mcrypt: | 
| <code bash>sudo apt-get install php-mcrypt</code> | <code bash>sudo apt-get install php-mcrypt</code> | ||
| + | |||
| + | ==== Настройка ==== | ||
| + | |||
| + | Файлы настроек доступных расширений располагаются в директории ''/etc/php/7.0/mods-available''. У каждого варианта запуска интерпретатора существует своя директория ''conf.d'' в которой находятся символьные ссылки на активные расширения. | ||
| + | |||
| + | ===== Установка других версий PHP ===== | ||
| + | |||
| + | Данный способ показывает, как установить версию PHP, не входящую в стандартные репозитории вашей версии Ubuntu. Для установки используются пакеты из [[https://launchpad.net/~ondrej/+archive/ubuntu/php|PPA]]. | ||
| + | |||
| + | 1. Посмотрите список установленных пакетов PHP для удаления ненужных: | ||
| + | |||
| + | <code bash>dpkg -l | grep php| awk '{print $2}' |tr "\n" " "</code> | ||
| + | |||
| + | 2. Добавьте PPA в список репозиториев: | ||
| + | |||
| + | <code bash>sudo add-apt-repository ppa:ondrej/php | ||
| + | sudo apt-get update</code> | ||
| + | |||
| + | 3. Установите вашу версию PHP. | ||
| + | |||
| + | Пример установки PHP версии 5.6: | ||
| + | <code bash>sudo apt-get install php5.6</code> | ||
| + | |||
| + | Пример установки некоторых модулей для PHP версии 5.6: | ||
| + | <code bash>sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml</code> | ||
| Строка 89: | Строка 133: | ||
| * [[http://php.net|Официальный сайт PHP]] | * [[http://php.net|Официальный сайт PHP]] | ||
| * [[http://php.net/manual/ru/|Руководство по PHP]] | * [[http://php.net/manual/ru/|Руководство по PHP]] | ||
| + | * [[https://www.howtoforge.com/tutorial/perfect-server-ubuntu-18.04-with-apache-php-myqsl-pureftpd-bind-postfix-doveot-and-ispconfig/2/|Настройки php-fpm]] | ||
| + | * [[https://habr.com/post/330772/|Настройка cgi]] | ||
| + | * [[https://tecadmin.net/install-multiple-php-version-with-apache-on-debian/|Несколько версий php одновременно]] | ||
| {{tag>php lamp администрирование}} | {{tag>php lamp администрирование}} | ||
 
			 
	