17

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

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

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

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

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

5 ответов5

7

пожалуйста, обратите внимание
Этот ответ недействителен для новой версии 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.

4

Лучший способ - изменить настройки 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

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

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

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

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

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

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

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

1

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

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

0

XAMPP теперь скомпилирован с несколькими версиями PHP. Вы выбираете.

https://www.apachefriends.org/download.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .