PHP Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
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 администрирование}}