Как установить несколько версий XAMPP или несколько версий PHP на MAC OS X 10.7 Lion

Мне нужно сделать некоторую работу над унаследованной системой, для которой требуется PHP 5.2

У меня уже установлен XAMP 1.7.3, но эта версия имеет PHP 5.3.

Поскольку это работа, которую я мог бы сделать пару раз в следующие месяцы, я думал об установке XAMP-версии, которая запускает PHP 5.2. В то же время я участвую в некоторой работе, которая требует от меня использования PHP 5.3, поэтому я просто не удалите мою текущую версию XAMP и установите ее, которая использует PHP 5.2

На XAMPP Download Website довольно ясно, что при установке любой версии XAMPP она удалит предыдущую. Я провел некоторое исследование, но не смог найти способ обойти это.

Мне удалось найти phpswitch в / Applications / XAMPP / xamppfiles / bin /, и использование его действия в списке показало мне, что я только установил и активировал PHP 5.3.1. Я попытался понять, как загрузить / установить / активировать PHP 5.2 с помощью phpswitch, но не имел успеха.

Так что я ищу способ установить несколько XAMPP или установить PHP 5.2 и активировать его для XAMPP (либо через phpswitch, либо по-другому)

Вы можете установить параллельные версии XAMPP – по одному для каждой основной версии PHP. Просто не запускайте оба одновременно.

Установите каждый экземпляр XAMPP в его собственную папку.

Я делаю это под папкой, называемой

XAMPPInstalls/XAMPP182-PHP54 /XAMPP183-PHP55/

В каждой папке XAMPP вы найдете .exe, чтобы запустить контроллер для этого конкретного стека XAMPP. Я создал ярлыки для них, переименовал их в «XAMPP182-ControlPanel» и «XAMPP183-ControlPanel» и разместил их на своем рабочем столе.

Когда мне нужно запустить локальный сайт на PHP5.4, я нажимаю XAMPP182-ControlPanel и запускаю серверы Apache и MySQL.

Когда мне нужно переключить локальный сайт на PHP5.5, я нажимаю XAMPP182-ControlPanel и закрываю серверы Apache и MySQL, затем я нажимаю XAMPP182-ControlPanel и запускаю серверы Apache и MySQL в этом стеке.

Это занимает всего несколько секунд.

Кроме того, я использую «soft-linking», чтобы выполнить всю мою конфигурацию для своих локальных веб-сайтов в одной папке, а затем создать «соединение» (т.е. исходную папку, которая реплицируется в конфигурациях Apache для каждого стека XAMPP).

Существует действительно хорошая статья о том, что Марко Динс в Joomla! « Практическое развитие 2: Рабочая среда »! Community Magazine о том, как настроить рабочую среду для запуска нескольких локальных установок XAMPP, нескольких локальных веб-сайтов с использованием «хостинга на основе имен» и как организовать все это.

Я не использую настройку Ding точно – я настроил, чтобы мои локальные веб-проекты были еще более организованными и оптимизированными, но моя настройка основана на подходе Ding.

ПРИМЕЧАНИЕ. Статья, в то время как в Joomla! Community Magazine, не относится к Joomla !, поэтому вы можете использовать эту настройку для любых проектов PHP / Apache / MySQL, над которыми вы работаете.

Теперь есть много способов сделать это (например, с помощью виртуальной виртуальной машины Oracle), но это может быть излишним, если вам не нужна репликация удаленной хостинговой среды «точно». Например, если вы используете «выделенный хост» и хотите тесно реплицировать среду выделенного хоста и настроиться как можно ближе, вы должны пойти с VM Virtual Box Set-Up – это позволяет запускать несколько виртуальных машин (т. Е. различные настройки), а затем клонировать точную настройку на ваш живой сервер. Опять же, overkill, если большинство ваших проектов перейдут на «совместный хостинг», так как у вас нет большого контроля над настройкой в ​​любом случае.

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

Я упомянул Oracle VM VirtualBox, потому что вы должны хотя бы знать об этом как о опции.

Вы всегда можете использовать VirtualBox (или аналогичный), чтобы создать экземпляр с 5.2 на нем, а затем, когда вы закончите со старой работой, просто сбрасывайте экземпляр VB без какого-либо плохого воздействия на вашу текущую систему.

У вас есть несколько вариантов. Либо используйте виртуальное поле для запуска виртуальных сред: одно с PHP 5.2 и другое с PHP 5.3. Или, если вам удобно устанавливать PHP, вы можете установить различную версию PHP, в которой вы нуждаетесь, и настроить символическую ссылку на версию, которую вы хотите использовать в то время.

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

 port search php 

показывает, что MacPorts может предоставить PHP 5.2, 5.3 и 5.4. Такие установки помещаются в / opt, поэтому они оставляют любые другие установки PHP отдельно.

Я просто хочу добавить, что если вы запустите любой os (мой Yosemite), сделайте то же самое, но работая в папке xamppfiles внутри основной папки XAMPP (так что путь к работе с ней отличается), вы можете изменить параметры configure.ini и возможно, связанный с файлом (сложный) или (простой, но грязный) имя версии, которую вы хотите использовать xamppfiles, а другой – и затем создать 2 отдельных псевдонима для запуска менеджера (по одному для каждой версии xampp). Как это немного запутанно, но если кому-то это нужно, я могу описать оба подхода шаг за шагом.

Предыдущие ответы не помогли мне, но на Форуме друзей Apache есть довольно элегантное решение , хотя мне потребовалось немного, чтобы все работало правильно. Некоторые основные моменты:

  • Установив несколько версий XAMPP , вы можете получить различные версии модуля PHP CGI. Тем не менее, имейте в виду, что ваши файлы конфигурации и базы данных, возможно, потребуется восстановить, если вы запускаете несколько инсталляторов, поэтому резервное копирование и планирование соответственно.
  • Убедитесь, что этим CGI разрешено выполнять свою задачу, добавив в файл httpd-xampp.conf блок, похожий на этот файл (я положил мой в конец):

     <Directory "/Applications/XAMPP/xamppfiles/bin"> Require all granted Options +ExecCGI </Directory> 

    Имейте в виду, что в зависимости от версии Apache, используемой XAMPP, ваш синтаксис может немного отличаться .

  • Теперь найдите этот раздел в своем файле httpd.conf и убедитесь, что соответствующий Include раскоментирован, например:

     # Virtual hosts Include etc/extra/httpd-vhosts.conf 
  • Теперь вы можете добавлять записи в свой файл httpd-vhosts.conf для каждой версии PHP, которую хотите использовать, примерно так:

     <VirtualHost test54.yourdomain.com:80> ServerName test54.yourdomain.com .... ScriptAlias /xampp-bin /Applications/XAMPP/xamppfiles/bin <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> Action application/x-httpd-php /xampp-bin/php-cgi-5.4.31 .... </VirtualHost> <VirtualHost test55.yourdomain.com:80> ServerName test55.yourdomain.com .... ScriptAlias /xampp-bin /Applications/XAMPP/xamppfiles/bin <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> Action application/x-httpd-php /xampp-bin/php-cgi-5.5.35 .... </VirtualHost> .... 

    (В версии XAMPP, которую я использую, также существует символическая ссылка в каталоге bin называемая просто php-cgi которая указывает на самый последний CGI, и я также добавляю для этого блок).

  • Добавьте соответствующие записи в файл hosts , например:

     127.0.0.1 test54.yourdomain.com 127.0.0.1 test55.yourdomain.com 

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