Есть ли способ использовать две версии PHP в XAMPP?

Мы запускаем XAMPP с PHP 7.0, потому что нашим новым продуктам требуется PHP 7.

Но есть старый проект, который использует такие функции, как mysql_connect и т. Д. Они удаляются в PHP 7.0.

Таким образом, есть способ легко изменить версии PHP в XAMPP.

Примечание. Пожалуйста, не предлагайте обновлять старый проект до совместимости с новыми версиями, потому что я не в состоянии это сделать, потому что эти решения я не могу получить как разработчик (просто сотрудник).

Вы можете загрузить любые версии PHP, которые вам нужны, и поместить их в свои собственные каталоги, например

c:\php5\

c:\php7\

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

LoadModule php7_module c:\php7\libphp7.so

Разумеется, вам нужно будет выяснить правильные пути – это просто для иллюстрации.

Сохраните httpd.conf и перезапустите сервер. Обратите внимание, что если вы не перезапустите его, изменения не вступят в силу.

Для этого нет переключателя GUI, вам нужно отредактировать файл .conf а затем перезапустить Apache. Для этого требуется всего несколько секунд, и вы даже можете прокомментировать версию, поэтому «переключение» требует всего несколько нажатий клавиш, например

Использовать PHP 5:

 LoadModule php5_module c:\php5\libphp5.so #LoadModule php7_module c:\php7\libphp7.so 

Используйте PHP 7:

 #LoadModule php5_module c:\php5\libphp5.so LoadModule php7_module c:\php7\libphp7.so 

Вам не нужны несколько версий XAMPP , или для двойной загрузки, или использовать другую машину, или любые другие «решения», которые предложили запутанные обходные пути. OP хочет использовать XAMPP и сказать, какую версию PHP использовать. Это самый быстрый и эффективный способ сделать это, и требуется только одна установка XAMPP.

Edit 1-Nov-2017: По-видимому, некоторые люди говорят, что в Windows нет файлов .so . Ответ, который я дал, был адаптирован из того, как у меня есть настройки на моем Mac (который использует файлы .so вместо .dll ). Однако принцип ответа по-прежнему точно верен. Вы используете файл конфигурации Apache, httpd.conf чтобы указать, где находится PHP-модуль ( .so или .dll ) в вашей системе. Таким образом, единственным отличием для Windows было бы имя файла и / или местоположение пути. Ответ, который я дал, также верен для ванильной установки Apache / PHP (без XAMPP вообще).

Вы можете загрузить и установить два разных xampps, как я: (сначала php7 второй – php5) введите описание изображения здесь

и если вы не хотите этого делать, я предлагаю вам использовать версии Wamp и изменений, как показано здесь .

Я бы рекомендовал использовать Docker, это позволит вам разбить среду на различные компоненты и смешать и соответствовать тем, которые вы хотите в любое время.

Docker позволит вам запускать один контейнер с MySQL, другой с PHP. Поскольку они являются отдельными изображениями, у вас могут быть два контейнера, один PHP 5 другой PHP 7, вы запускаете тот, который вам нужен, и порт 80 можно сопоставить с обоими контейнерами.

https://hub.docker.com имеет широкий спектр предварительно сконфигурированных изображений, которые вы можете установить и запустить без особых проблем.

Я также добавил portainer в качестве изображения, которое позволяет вам управлять различными аспектами настройки докеры – изнутри изображения докеров (я запускал этот контейнер при запуске, чтобы сохранить мне возможность использовать командную строку). Он не делает все для вас, а иногда проще настроить и запустить изображения в первый раз из командной строки, но после установки вы можете запустить и остановить их через веб-интерфейс.

Одновременно можно одновременно запускать оба контейнера и сопоставлять отдельные порты каждому. Таким образом, порт 80 можно сопоставить с PHP 5 и 81 до PHP 81 (или PHP 7, если вы смотрите это в 2017 году).

Существуют различные учебные пособия по установке Docker ( https://docs.docker.com/engine/installation/ ) и множеству других типов «как». Попробуйте http://www.masterzendframework.com/docker-development-environment/ для конфигурации среды разработки.

Вы можете иметь две разные версии XAMPP.

  • Загрузите эти файлы с https://www.apachefriends.org/download.html и установите в каталог по вашему выбору, например, в C: \ 5.6.31 \ xampp и C: \ 7.1.18 \ xampp.
  • После каждой установки перейдите в установленную директорию (например, C: \ 5.6.31 \ xampp, C: \ 7.1.18 \ xampp) и запустите «setup_xampp.bat», и вы увидите что-то вроде этого.
  • Вы можете сделать ярлыки «xampp-control.exe» на своем рабочем столе (щелкните правой кнопкой мыши «xampp-control.exe» «Отправить на -> Рабочий стол») и переименуйте ярлыки для ex. «xampp 5.6.31» и «xampp 7.1.8».
  • Запустите панель управления XAMPP, дважды щелкнув «xampp-control.exe» или ранее созданный ярлык и запустив серверы Apache и MySQL.
  • Чтобы проверить установку, откройте свой браузер и введите 127.0.0.1 или localhost в строке местоположения. Вы должны увидеть начальный экран XAMPP.
  • Не открывайте более одной панели управления XAMPP.
  • Удаление XAMPP? Просто удалите каталог «xampp». Но прежде чем отключить апач и mysql.
  • Это все. Вы можете использовать разные версии php, открывая соответствующую панель управления XAMPP.

Да, ты можешь. Я предполагаю, что у вас уже установлен xampp. Так,

  • Закройте все экземпляры xampp. Используя диспетчер задач, остановите apache и mysqld.
  • Затем переименуйте xampp в xampp1 или что-то после имени xampp.
  • Теперь загрузите другую версию xampp. Создайте только имя папки xampp. Установите загруженный xampp.
  • Теперь, в зависимости от версии вашего xampp вашего требования, просто переименуйте целевую папку только в xampp и другую папку на другое имя.

Вот как я работаю с несколькими установленными xampp

Вам не нужно тратить свое время на эти конфигурации, просто используйте MAMP 🙂

MAMP имеет функцию выбора версии PHP на интерфейсе.

Используйте докер. Самый простой способ решения различных проблем с версией