Получение XAMPP для работы с несколькими версиями PHP


18

Как я могу установить XAMPP для работы с различными версиями PHP?

Я использую XAMPP, потому что некоторые скрипты глючат при запуске в WAMP. Я использую WAMP, потому что он поддерживает разные версии PHP.

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

Можно ли настроить XAMPP для работы с более чем одной версией PHP? Или это то, что я должен искать в альтернативном решении?

Примечание: я работаю на Windows 7.


Возможно, вы захотите использовать WAMPSERVER вместо Xampp. WAMPSEVER содержит переключатель версии PHP; что удобно.
Вейкин Джей Лин

Ответы:


8

Обратите внимание:
этот ответ не подходит для новой версии XAMPP.


Во-первых, вам нужно остановить Apache от XAMPP . Потом,

Зайдите в cmd и переключитесь на вашу папку XAMPP. Например, если ваша папка XAMPP находится в C: \

C:\>cd C:\XAMPP 

В этой папке находится файл с именем php-switch.bat, запускаемый из командной строки. Если нет, вы также можете запустить php-switch.batнапрямую.

Вы увидите версию, на которой вы сейчас находитесь, и процедуру переключения. Например, введите 4для переключения PHP 4, а затем выполните процедуру.

php-switch.bat работает в терминале

PHP 4 установится в ваш каталог XAMPP \ PHP и успешно переключится. затем снова включите Apache.


1
Я не могу найти php-switch.bat на XAMPP 1.7.3, который я установил. Есть ли конкретная версия xamp, которая поддерживает это? Благодарность!
Pennf0lio

К сожалению. Я думаю, что текущая версия больше не включает php4 apachefriends.org/f/viewtopic.php?f=16&t=33327 .. Я думаю, вам понадобится более старая версия, если вы хотите перейти на v4
Ye Lin Aung

4
это больше не действует в более новых версиях XAMPP
Mauris

1
Что больше не действует? Установка PHP4 или swiching версий?
AlxVallejo

4
в новой версии больше нет php-switch.bat
Toskan

5

Лучший способ - изменить настройки PHP в

/apache/conf/extra/httpd-xampp.conf

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

В моем случае я распаковал PHP5.4 в C: \ XAMPPLITE \ PHP5.4, а затем обновил ключевые строки в этом файле, такие как:

SetEnv PHPRC "C:\\xampplite\\php5.4"

LoadFile "C:/xampplite/php5.4/php5ts.dll"

PHPINIDir "C:/xampplite/php5.4"

Вы также должны убедиться, что установлена ​​правильная версия php5apache2_2.dll

Чтобы убедиться в этом, я скопировал новую версию php5apache2_2.dll в каталог модулей Apache с уникальным именем, а затем изменил конфигурацию, чтобы она соответствовала этому:

copy php5.4\php5apache2_2.dll apache\modules\php5apache2_2-5_4.dll

и в файле httpd-xampp.conf

LoadModule php5_module modules/php5apache2_2-5_4.dll

1

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

Реальным хардкорным решением будет установка и управление компонентами сервера (и их конфигурациями) вручную. С тех пор, как я переключился с WAMP на самостоятельную установку сервера, я больше никогда не чувствовал необходимости в предварительно упакованных серверных решениях.


Спасибо за совет! Большинство в обсуждении предлагают использовать XAMPP в качестве быстрого и грязного решения проблемы скрипта. В то время как у вас есть смысл, для меня было бы разумно просто переключить сервер (потому что это быстро) по сравнению с работой с конфигурацией сервера, что я понятия не имею, с чего начать.
Pennf0lio

Ну ... Рано или поздно вы можете столкнуться с ситуацией, когда нет другого выбора, кроме как копаться в конфигах (например, настройка сервера через терминальное соединение). В случае, если вы передумаете - вы можете попробовать сравнить ваши предопределенные конфигурационные файлы XAMPP / WAMP / LAMP с файлами новой установки автономного сервера, а затем искать руководства, что означают эти различия. Так я узнал то, что знаю сейчас.
Антихрис

Круто спасибо за отзыв. Да, я согласен с вашей точкой зрения. Но пока я буду разбираться со своей проблемой по одному и пойду к самому быстрому решению. : Пи приходится много сроков. Я действительно
ценю

Я задал похожий вопрос, но с большей функциональностью здесь serverfault.com/questions/121810/… Я хотел обновить отдельные элементы, такие как apache, mysql, php и phpmyadmin в моем xampp. Я все еще ищу решение этой проблемы. Если кто-то найдет решение, пожалуйста, дайте мне знать. Спасибо
Гаурав Шарма

1

Если вы хотите эту функцию (то есть возможность смешивать и сопоставлять сборки компонентов Apache, MySQL и php) и предпочитаете сторонние комплектные приложения стека AMP, вы можете рассмотреть WAMPServer 2.0 как вариант для Windows ... Довольно много для всех остальных Опция AMP в комплекте, на которую я смотрел (для Windows, Mac и Linux), не позволяет заменять сборки компонентов (я не включаю переключатели PHP4 и PHP5 как сборки компонентов, поскольку они действительно предлагались только из-за устаревшего кода проблемы, пока PHP5 не стал более обратно совместимым и PHP4 менее распространенным).

Большинство сторонних комплектных приложений стека AMP, особенно сборки ОС на основе Unix (Mac & Linux), для того, чтобы компоненты стека находились в той же структуре каталогов, что и корневой каталог «приложения», должны компилировать каждый компонент с определенными директивами и Аргументы, которые в конечном счете являются своего рода жесткими связями некоторых ссылок на папки и двоичных сигнатур в каждом из компонентов, строятся сами собой ... в частности, компоненты mysql и php, потому что у них есть библиотечные объекты, которые являются общими и требуют специальной ссылки и включения. во время исходной компиляции ... (и мне кажется, что большинство не по какой-либо причине просто компилируют с каждой необязательной директивой и включенной библиотекой ... не уверен, что это решит проблему, или нет, потому что я получил это далеко с моим проектом ответить пока что пока).

Еще одно замечание, поскольку оно находится в том же контексте .... что касается комментариев об использовании компонентов автономной установки в сравнении со стеками _AMPP, я, к сожалению, знаю только то, что написал выше, потому что я пытался настроить с использованием 3 автономных исходный код компонентов и попытался получить свой пирог и съесть его .... хотя никогда не имел опыта работы с любым из них до этого .... поэтому я могу сказать, что есть две очень убедительные причины, почему разработчики делают и следует использовать стеки для локальных сред разработки:

1) если ваш проект использует эту технологию, но явно не расширяет функции внутри ядра какого-либо одного компонента, то большинство просто хотят работать, чтобы иметь возможность работать над тем, над чем им нужно работать .... и не иметь выяснить все конфиги, необходимые для того, чтобы 3 компонента легко общались друг с другом. Можно легко потратить несколько дней, чтобы узнать, какие директивы, модули, библиотеки, аргументы компиляции и т. Д. Необходимы. Если вы уже знаете это, прекрасно, но не рекомендуйте это кому-то, кто не знает, если вы не собираетесь делать это для них.

2) связанные стеки автономны и изолированы от конфигурационных файлов ОС, поэтому вы можете без проблем загружать вашу среду разработки .... если вы хотите запускать скрипты, которые развертывают файлы в нужную папку "etc", я не знаю о вас, но я могу время от времени совершать ошибки, и ошибка в папке ../XAMPP/etc гораздо менее болезненна, чем ошибка в папке / etc.

3) GUI ... GUI ... GUI ... не все являются командной строкой Моцарта, и все стеки AMPP обеспечивают приятный графический интерфейс, позволяющий включать и выключать все, что душе угодно. Если вам нужен графический интерфейс, вы будете тяготеть к приложениям AMPP Stack ... если вам все равно, все зависит от того, какой вес или запас вы положили на мои очки # 1 и # 2

Во всяком случае, извините за диссертацию "Как заставить кого-то зевать", надеюсь, что кто-то что-то из этого получит.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.