Початок роботи 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 з файлами свіжої окремої установки сервера, а потім шукати посібники, що означають ці відмінності. Саме так я дізнався те, що зараз знаю.
антихрис

Класна подяка за пораду. Так, я згоден з вашою точкою, але поки що я просто вирішу свою проблему по черзі і піду для швидкого вирішення. : PI доводиться до багатьох термінів. Я дуже
вдячний

Я задав подібне запитання, але з більшою функціональністю тут сервер default.com/questions/121810/… Я хотів оновити окремі елементи, такі як apache, mysql, php та phpmyadmin у своєму xampp. Я все ще шукаю рішення для цього. Якщо хтось знайде рішення, будь ласка, дайте мені знати. Спасибі
Gaurav Sharma

1

Якщо ви хочете, щоб ця функція (тобто вміння змішувати та узгоджувати побудови компонентів apache, mysql та php) і надає перевагу стороннім програмам пакетів AMP для пакетних програм, ви можете розглянути WAMPServer 2.0 як опцію для Windows ... Досить багато кожного іншого Опція пакетної AMP, яку я розглядав (для Windows, Mac та Linux), не дозволяє замінювати компоненти компонентів (я не включаю комутатори PHP4 та PHP5 як складові компонентів, оскільки вони були запропоновані лише завдяки застарілому коду проблеми, поки PHP5 не став більш сумісним назад, а PHP4 - менш рясним).

Більшість програм сторонніх пакетів AMP, що постачаються сторонніми сторонами, особливо збірки ОС на основі Unix (Mac і Linux), щоб компоненти стека знаходилися в тій же структурі каталогу, що і кореневий каталог "app", вони повинні компілювати кожен компонент із конкретними директивами та аргументи, які в кінцевому підсумку наділяють деякі посилання на папки та бінарні підписи до кожного з компонентів, будують самі .... конкретно, компоненти mysql та php, оскільки в них є об'єкти бібліотеки, які є спільними і вимагають специфічного посилання та включення під час компіляції джерела ... (і мені здається, що більшість з будь-якої причини просто не компілюється з усіма необов'язковими директивами та бібліотекою, що входить ... не впевнений, що вирішить проблему чи не b / c з моїм проектом, щоб відповісти на це поки що).

Ще одне зауваження, оскільки воно знаходиться в тому ж контексті .... що стосується коментарів щодо використання компонентів автономних встановлень проти стеків _AMPP, я, на жаль, знаю лише те, що писав вище, тому що я намагався налаштувати за допомогою 3 автономних вихідний код компонентів і намагався приготувати торт і з'їсти його .... хоча ніколи не мав досвіду роботи з будь-яким з них до цього .... тому я можу сказати, що є дві дуже переконливі причини, чому розробники роблять і слід використовувати Stacks для локальних середовищ розвитку:

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

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

3) GUI ... GUI ... GUI ... не кожен є командним рядком Mozart, а стеки AMPP забезпечують приємний графічний інтерфейс для ввімкнення та вимкнення речей на вміст вашого серця. Якщо ви хочете GUI, ви будете тяжіти до програм AMPP Stack ... якщо вам все одно, все залежить від того, яку вагу чи запас ви поставите на мої бали №1 та №2

У будь-якому випадку, вибачте за дисертацію "Як когось позіхати", сподіваюся, що хтось щось з цього вийде.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.