Несколько версий php windows

Несколько версий PHP под одним Apache на Windows: руководство для начинающих

Несколько версий PHP под одним Apache на Windows: руководство для начинающих

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

Создание нескольких версий PHP на одном Apache может быть очень полезным для тестирования структуры и функциональности вашего веб-сервера. Теперь вы сможете запускать различные версии PHP на своей машине и тестировать различные сайты и сервисы с помощью установки нескольких экземпляров PHP.

Для установки нескольких версий PHP под одним Apache на Windows вам потребуется выполнить несколько шагов. Сначала необходимо создать виртуальные хосты для каждого сайта или сервиса, на котором будет работать другая версия PHP. Затем создайте конфигурационный файл отдельно для каждого сайта в папке конфигурации Apache.

Создание структуры каталогов для сайтов

После установки PHP под каждый экземпляр Apache на Windows, теперь необходимо создать структуру каталогов для каждого сайта.

Для удобства создания и настройки каждого веб-сервера, предлагается использовать следующие каталоги:

  • /var/www/site1/your_domain — для первого сайта
  • /var/www/site2/your_domain — для второго сайта

Кроме того, для каждого хоста необходимо создать отдельные каталоги:

  • /var/log/apache2/your_domain-error.log — для записи ошибок веб-сервера
  • /var/run/apache2/your_domain.pid — для хранения PID-файла процесса веб-сервера

Для создания каталогов можно использовать следующие команды:

  • sudo mkdir /var/www/site1/your_domain
  • sudo mkdir /var/www/site2/your_domain
  • sudo touch /var/log/apache2/your_domain-error.log
  • sudo touch /var/run/apache2/your_domain.pid

Также необходимо создать службу для каждого веб-сервера. Для этого используйте следующие команды:

  • sudo systemctl enable apache2 — для первого сервера
  • sudo systemctl enable apache3 — для второго сервера

После создания каталогов и настройки сервиса, можно приступить к установке и настройке PHP для каждого сайта. Для этого необходимо выполнить следующие действия:

  1. Установите PHP-версию, которую вы хотите использовать для каждого сайта. Например, для первого сайта установите PHP 7.2 с помощью команды sudo apt-get install php7.2-fpm.
  2. Создайте файл /etc/apache2/sites-available/site1.your_domain.conf и добавьте в него следующий код:
    <VirtualHost *:80>
    ServerName site1.your_domain
    DocumentRoot /var/www/site1/your_domain
    ErrorLog ${APACHE_LOG_DIR}/your_domain-error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Directory /var/www/site1/your_domain>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    </Directory>
    <FilesMatch ".php$">
    SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost"
    </FilesMatch>
    </VirtualHost>
    
  3. Создайте файл /etc/apache2/sites-available/site2.your_domain.conf со следующим содержимым:
    <VirtualHost *:80>
    ServerName site2.your_domain
    DocumentRoot /var/www/site2/your_domain
    ErrorLog ${APACHE_LOG_DIR}/your_domain-error.log
    CustomLog ${APACHE_LOG_DIR}/site2.your_domain-access.log combined
    <Directory /var/www/site2/your_domain>
    Options -Indexes +FollowSymLinks
    AllowOverride All
    Require all granted
    </Directory>
    <FilesMatch ".php$">
    SetHandler "proxy:unix:/var/run/php/php7.3-fpm.sock|fcgi://localhost"
    </FilesMatch>
    </VirtualHost>
    
  4. Активируйте виртуальные хосты командами:
    sudo a2ensite site1.your_domain
    sudo a2ensite site2.your_domain
    
  5. Перезапустите Apache, чтобы внести изменения в конфигурацию:
    sudo systemctl restart apache2
    

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

Требования для запуска нескольких версий PHP на одном сервере с помощью Apache и PHP-FPM в Ubuntu 20.04

Для запуска нескольких версий PHP на одном сервере с помощью Apache и PHP-FPM в Ubuntu 20.04 нужно выполнить следующие требования:

  1. Установите Apache, PHP-FPM и необходимые версии PHP на ваш сервер Ubuntu 20.04. Для этого можно воспользоваться следующей командой:
  2. sudo apt install apache2 php-fpm php7.2 php7.3 php7.2-mysql php7.3-mysql

  3. Настройте каждую версию PHP как отдельный плагин Apache:
  4. Для каждого сайта, который требует определенную версию PHP, создайте отдельную настройку Apache, используя следующую команду:

    
    sudo nano /etc/apache2/sites-available/site1.conf
    sudo nano /etc/apache2/sites-available/site2.conf
    
    

    В конфигурационных файлах каждого сайта укажите следующие настройки:

    
    <VirtualHost *:80>
    ServerAdmin webmaster@site1.com
    DocumentRoot /var/www/site1/your_domain
    ServerName site1.com
    <Directory /var/www/site1/your_domain>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    </Directory>
    <FilesMatch \.php$>
    SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost/"
    </FilesMatch>
    ErrorLog /var/www/site1/your_domain/info_php72/error.log
    CustomLog /var/www/site1/your_domain/info_php72/access.log combined
    </VirtualHost>
    
    

    Для site2.conf настройки будут аналогичными, за исключением пути и версии PHP.

  5. Создайте виртуальное имя хоста для каждого сайта:
  6. В файле /etc/hosts добавьте следующие строки:

    
    127.0.0.1   site1.com
    127.0.0.1   site2.com
    
    
  7. Настройте systemd для запуска каждого экземпляра PHP-FPM:
  8. Создайте файл /etc/systemd/system/php7.2-fpm.service со следующим содержимым:

    
    [Unit]
    Description=The PHP 7.2 FastCGI Process Manager
    After=syslog.target network.target
    [Service]
    Type=simple
    PIDFile=/run/php/php7.2-fpm.pid
    ExecStart=/usr/sbin/php-fpm7.2 --nodaemonize --fpm-config /etc/php/7.2/fpm/php-fpm.conf
    ExecReload=/bin/kill -USR2 $MAINPID
    [Install]
    WantedBy=multi-user.target
    
    

    Аналогично создайте файл /etc/systemd/system/php7.3-fpm.service для PHP 7.3.

  9. Перезапустите сервисы и проверьте работу:
  10. Выполните следующие команды для перезапуска сервисов:

    
    sudo systemctl daemon-reload
    sudo systemctl restart apache2
    sudo systemctl restart php7.2-fpm
    sudo systemctl restart php7.3-fpm
    
    

    Теперь каждый сайт будет использовать свою версию PHP.

Читайте также:  Настройка цветов монитора в Windows 10 простые шаги для улучшения качества изображения

Несколько версий PHP на Windows машине

Установка и настройка нескольких версий PHP на веб-сервере Apache на Windows машине может предоставить ряд удобств для разработки приложений и тестирования. В этом руководстве я покажу вам, как настроить несколько версий PHP на одном сервере.

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

Перед началом установки убедитесь, что у вас уже установлен Apache веб-сервер и PHP на вашей машине. Если это еще не сделано, вы можете установить их, следуя официальным инструкциям предоставленным официальными сайтами Apache и PHP.

Установка и настройка каждого сайта

Установка и настройка каждого сайта

  1. Установите нужные версии PHP на вашей машине, используя официальные инструкции по установке.
  2. Создайте каталог для каждого вашего сайта. Например, /var/www/site1_your_domain и /var/www/site2_your_domain.
  3. Создайте в каждом каталоге файл info.php с содержимым:
    <?php
    phpinfo();
    ?>
  4. Настройте Apache для каждого сайта, добавив в файл /etc/apache2/apache2.conf следующий блок:
    Alias /site1 /var/www/site1_your_domain
    <Directory /var/www/site1_your_domain>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    </Directory>
    Alias /site2 /var/www/site2_your_domain
    <Directory /var/www/site2_your_domain>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    </Directory>
  5. Перезагрузите Apache, чтобы изменения вступили в силу.

Настройка каждой версии PHP

Вам также нужно настроить каждую версию PHP для каждого сайта по отдельности. Для этого:

  1. Создайте отдельные настройки PHP для каждой версии PHP. Например, /etc/php/7.2/fpm/pool.d/site1.conf и /etc/php/7.3/fpm/pool.d/site2.conf.
  2. В файле настроек для каждого сайта добавьте следующую конфигурацию:
[site1]
user = www-data
group = www-data
listen = /run/php/php72-fpm.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
chdir = /var/www/site1_your_domain
php_admin_value[error_log] = /var/www/site1_your_domain/error.log
[site2]
user = www-data
group = www-data
listen = /run/php/php73-fpm.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
chdir = /var/www/site2_your_domain
php_admin_value[error_log] = /var/www/site2_your_domain/error.log

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

Запуск и тестирование

После настройки каждого сайта и каждой версии PHP, вы можете перезапустить соответствующий сервис PHP для каждого сайта. Например, используя следующие команды:

sudo systemctl restart php7.2-fpm
sudo systemctl restart php7.3-fpm

Теперь вы можете открыть веб-браузер и перейти по адресам:

  • http://localhost/site1/info.php для первого сайта.
  • http://localhost/site2/info.php для второго сайта.

Вы должны увидеть информацию о версиях PHP для каждого сайта.

Читайте также:  Способы взлома пароля от Windows домена полезные советы и техники

Не забудьте удалить файл info.php после тестирования.

Заключение

Теперь вы знаете, как установить и настроить несколько версий PHP на Windows машине для различных сайтов или приложений. Это предоставляет гибкость и удобство для разработки и тестирования ваших проектов.

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

Счастливого кодинга!

Настройка Apache для поддержки двух сайтов

Вам может понадобиться настроить ваш веб-сервер Apache для поддержки двух или более сайтов на одном сервере. В этом руководстве мы рассмотрим процесс настройки Apache для такой поддержки.

Прежде всего, убедитесь в том, что вы установили все необходимые компоненты для работы с PHP. Вам потребуются следующие предустановки:

Требования
— PHP версий 7.2 и 7.3
— модуль Apache libapache2-mod-fcgid
— PHP-пакеты php72-fpm и php72-mysql

Предоставляемые выше компоненты позволят вам создать виртуальные хосты для каждого из ваших сайтов. Вам также понадобятся следующие структуры каталогов:

Структура каталогов
— Каталог сайта 1: /var/www/site1/your_domain
— Каталог сайта 2: /var/www/site2/your_domain

Определим каждый из созданных каталогов в конфигурации Apache:

<VirtualHost *:80>
ServerName site1.your_domain
DocumentRoot  /var/www/site1/your_domain
<Directory "/var/www/site1/your_domain">
allow from all
Options +Indexes
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:fcgi://localhost:9000"
</FilesMatch>
</VirtualHost>
<VirtualHost *:80>
ServerName site2.your_domain
DocumentRoot  /var/www/site2/your_domain
<Directory "/var/www/site2/your_domain">
allow from all
Options +Indexes
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:fcgi://localhost:9001"
</FilesMatch>
</VirtualHost>

Вышеуказанный пример создает два виртуальных хоста для ваших сайтов. Здесь мы указываем каталоги каждого сайта, а также определяем обработчик PHP для каждого сайта через модуль libapache2-mod-fcgid.

Теперь у вас есть настройки для вашего Apache, которые позволяют работать с двумя сайтами. Однако вам также необходимо настроить соответствующие PHP-FPM сервисы для каждого сайта.

Для создания каждого PHP-FPM сервиса, создайте systemd1-службу следующим образом:

Создайте файл с именем: /etc/systemd/system/site1-your_domain-php72-fpm.service и добавьте следующее содержимое:

[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
ExecStart=/usr/local/php72/sbin/php-fpm --nodaemonize --fpm-config /etc/php72-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target

Вышеуказанный мануал предоставляет веб-серверам системы возможность проводить тестирование ваших сайтов, создание одновременных задач и другие действия без создания ошибок в структуре и на сервере.

Повторите те же шаги для второго сайта, создав файл сервиса /etc/systemd/system/site2-your_domain-php72-fpm.service и определив соответствующие пути и файлы конфигурации.

Теперь у вас должны быть настроены Apache и PHP-FPM для поддержки двух сайтов. Перезапустите Apache с помощью команды systemctl restart apache2 и активируйте PHP-FPM сервисы с помощью команды systemctl enable --now site1-your_domain-php72-fpm и systemctl enable --now site2-your_domain-php72-fpm.

Теперь вы можете приступить к тестированию и использованию ваших двух сайтов одновременно.

Тестирование настройки

После завершения настройки нескольких версий PHP под одним Apache на Windows, вам следует выполнить тестирование, чтобы убедиться, что все работает корректно. В данном разделе мы рассмотрим несколько шагов, которые помогут вам проверить правильность настроек.

Проверка установки PHP

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

  1. Запустите командную строку и введите php -v. Вы увидите информацию о текущей установленной версии PHP. Повторите это действие для каждой установленной версии PHP.
  2. Создайте файл с расширением .php (например, info.php) внутри папки веб-сайта каждой версии PHP (например, C:varwwwsite1your_domain).
  3. Откройте каждый из созданных файлов в браузере (например, http://site1.your_domain/info.php).
  4. На каждой странице вы должны увидеть информацию о текущей версии PHP.

Проверка конфигурации Apache

Чтобы убедиться, что настройки Apache корректно работают с несколькими версиями PHP, выполните следующие действия:

  1. Запустите командную строку и введите httpd -t. Вы должны получить сообщение о том, что конфигурационный файл Apache не содержит ошибок.
  2. Запустите командную строку и введите httpd -v. Вы увидите информацию о текущей версии Apache.
Читайте также:  Лучшие программы для настройки микрофона на Windows 10

Проверка работы веб-сервера

Чтобы убедиться, что все хосты работают корректно с соответствующими версиями PHP и Apache, выполните следующие действия:

  1. Откройте веб-браузер и введите адрес каждого хоста (например, http://site1.your_domain и http://site2.your_domain).
  2. На каждой странице вы должны увидеть информацию о текущей версии PHP, соответствующую этому хосту.
  3. При необходимости выполните какие-либо тестовые действия на каждом хосте и убедитесь, что они работают как ожидается.

Заключение

Тестируя настройку нескольких версий PHP под одним Apache на Windows, вы убедитесь в правильности установки и конфигурации каждого компонента. Если в процессе тестирования вы обнаружите ошибки, обратитесь к мануалу, чтобы устранить их.

Установка PHP 7.2 и PHP 7.3

Для создания нескольких версий PHP под одним Apache на Windows, вам понадобится установить обе версии PHP на ваш сервер. В этом разделе мы рассмотрим процесс установки PHP 7.2 и PHP 7.3.

1. Создание каталогов

Прежде всего, создайте два каталога для каждой версии PHP. Например, вы можете создать каталоги «php72» и «php73» в каталоге «C:\», чтобы хранить файлы каждой версии PHP.

2. Установка PHP 7.2

Скачайте архив с PHP 7.2 с официального сайта php.net и распакуйте его в созданный каталог «php72».

После распаковки архива, перейдите в каталог «php72» и откройте файл «php.ini». Настройте его в соответствии с требованиями вашего веб-сервера и ваших приложений.

3. Установка PHP 7.3

Аналогично установке PHP 7.2, скачайте архив с PHP 7.3 и распакуйте его в созданный каталог «php73».

Затем откройте файл «php.ini» в каталоге «php73» и настройте его в соответствии с вашими потребностями.

4. Настройка Apache

Чтобы настроить Apache для работы с каждой версией PHP, вам потребуется создать несколько Alias и Virtual Host в файле конфигурации Apache.

Откройте файл «httpd.conf» в директории Apache (например, «C:\Apache24\conf») и добавьте следующие строки в конец файла (замените пути каталогов соответствующими вашими):

Alias /php72 "C:/php72"
<Directory "C:/php72">
AllowOverride All
Options None
Require all granted
</Directory>
Alias /php73 "C:/php73"
<Directory "C:/php73">
AllowOverride All
Options None
Require all granted
</Directory>

Это позволит Apache обращаться к PHP 7.2 через путь «/php72» и к PHP 7.3 через путь «/php73».

Теперь вам нужно настроить Virtual Host для каждого вашего сайта или приложения.

Для каждого виртуального хоста добавьте следующий блок кода в файл конфигурации Apache:

<VirtualHost *:80>
ServerName your_domain
DocumentRoot "C:/var/www/site"
<Directory "C:/var/www/site">
Options None
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:fcgi://localhost:9000"
</FilesMatch>
<Proxy "remp:fcgi://localhost:9000" min=1 max=4>
Order deny,allow
Allow from all
</Proxy>
</VirtualHost>

В этом примере мы настроили виртуальный хост для доменного имени «your_domain», с корневой директорией «C:/var/www/site» и обработку файлов PHP через PHP-FPM, который работает на порту 9000 для каждой версии PHP.

Заключение

После завершения установки и настройки PHP 7.2 и PHP 7.3, вы сможете запускать сайты и приложения, используя каждую версию PHP в зависимости от их требований.

Обратите внимание, что этот мануал предоставляет лишь общее представление о настройке нескольких версий PHP под одним Apache на Windows. Здесь установлены только две версии PHP, но вы можете установить и настроить любое количество версий в соответствии с вашими потребностями.

Удачи в настройке вашего веб-сервера!

Видео:

Как настроить локальный web-сервер, установка Apache, PHP и MariaDB (MySQL) на Ubuntu 20.04.

Как настроить локальный web-сервер, установка Apache, PHP и MariaDB (MySQL) на Ubuntu 20.04. by SuperDev 4,782 views 1 year ago 7 minutes, 10 seconds

Оцените статью