Подтвердить что ты не робот

Каковы технические отличия между безопасными и безопасными потоковыми пакетами для Windows XP?

В настоящее время я собираюсь установить PHP для среды разработки на базе Apache/Windows, но, похоже, я собираюсь упасть на первое препятствие: выбор правильного пакета для установки.

PHP доступен не менее чем из четырех вариантов:

  • VC9 x86 Non Thread Safe
  • VC9 x86 Thread Safe
  • VC6 x86 Non Thread Safe
  • VC6 x86 Thread Safe

Какая разница между этими версиями в практическом смысле?

Если это не было достаточно сложно, версия 5.3 PHP доступна только в VC9 (с 5.2, поставляемой с пакетами VC6). И все же, согласно сайту PHP, вы должны не использовать VC9 с Apache... Итак, почему Apache получает более старую версию?

Все это очень запутанно, и я хотел бы, чтобы какая-то помощь поняла выбор.

4b9b3361

Ответ 1

После многих исследований мне удалось найти ответы на этот вопрос.

В своей самой базовой форме ответ: . Какую версию PHP вы должны установить, на каком веб-сервере вы работаете.

Здесь более глубокое объяснение терминов, используемых при выборе версии PHP на основе того, что я узнал:


VC6 vs VC9

Во-первых, разные версии Apache для Windows скомпилированы с разными компиляторами. Например, версии Apache.org предназначены для компиляции с использованием Microsoft Visual С++ 6, также известной как VC6. Этот компилятор очень популярен, но и очень старый. (Это относится к 1998 году.)

Существуют разные версии Apache для разных компиляторов. Например, версии, доступные для загрузки из ApacheLounge.com, предназначены для компиляции с использованием популярного и более недавнего компилятора, Microsoft Visual С++ 9 с 2008 года. Также известен как VC9.

(Примечание. Эти два компилятора являются двумя наиболее популярными опциями. Поэтому, хотя возможно иметь скомпилированную версию Apache VC7, VC8 и т.д., вряд ли вы столкнетесь с ними.)

Использование этого более позднего компилятора (VC9) важно, потому что последние версии PHP распространяются только в форме VC9 (хотя более старые версии все еще доступны для VC6).

Кроме того, согласно ApacheLounge, есть многочисленные улучшения при использовании версии Apache, скомпилированной с VC9, "в таких областях, как Performance, MemoryManagement и Stability".

Если этого было недостаточно, разработчики PHP сделали следующее выражение на своем сайте:

Пользователи Windows: пожалуйста, помните, что мы делаем больше не предоставляют сборки, созданные с помощью Visual Studio С++ 6 (VC6). это невозможно поддерживать высокое качество и безопасная сборка PHP для Windows используя этот неподдерживаемый компилятор.

Мы рекомендуем создавать сборки VC9 Apache как предоставленный ApacheLounge.

Все пользователи PHP должны заметить, что PHP Серия 5.2 больше не поддерживается. Всех пользователей настоятельно рекомендуется обновление до PHP 5.3.6.

В целом, это чрезвычайно убедительный аргумент в использовании версий Apache и PHP VC9, если вы спросите меня.

Итак, если вы используете версию Apache с официального сайта Apa , он будет скомпилирован с VC6, и поэтому вы должен использовать более старую версию PHP для этого компилятора. Если вы используете версию Apache, скомпилированную с VC9, такую ​​как доступная на ApacheLounge.com, вы можете использовать последнюю версию PHP ( для VC9).

Для меня, запуская локальную среду разработки, было бы желательно иметь последнюю версию PHP, поэтому требуется версия Apache VC9, поэтому я могу использовать версию PHP VC9.

Thread Safe vs Non Thread Safe

Вновь это сводится к вашему веб-серверу. По умолчанию Apache устанавливается в Windows как Модуль, но его можно изменить для запуска FastCGI. Там много различий между этими двумя, но, по существу, FastCGI является более современным, быстрым, более надежным и ресурсоемким. Для кого-то, использующего локальную среду разработки, FastCGI может быть чрезмерным, но, видимо, многие хостинговые компании работают как FastCGI по причинам, которые я изложил, поэтому есть хорошие аргументы для этого в среде разработки.

Если вы используете Apache (или IIS) в качестве FastCGI (или CGI), вам нужна версия Non Thread Safe. Если вы используете Apache по умолчанию (как модуль), вам понадобится более традиционная версия Thread Safe.

Обратите внимание: это все относится только к пользователям Windows.


Я не буду беспокоиться о FastCGI (если кто-то не убедит меня в другом), поэтому для меня я хочу VC9 Thread Safe версию PHP.

И что это.

Дальнейшее чтение:

Ответ 2

Лично я использую виртуализированный сервер LAMP. Каждый хостинг, который я использую, зависит от некоторых особенностей Linux, и между WAMP и LAMP существует слишком много различий. Затем я просто использую сервер LAMP по умолчанию для этой версии Linux.

Моя фактическая настройка прямо сейчас - с VMWare (Fusion on Mac, Player в Windows). У меня есть 3 виртуальных машины - один для PHP5.3 с Ubuntu 10.04 LTS, а другой для PHP 5.1 на Ubuntu 8.04 LTS. (Один из хостов, которые я использую, находится на RedHat, который в настоящее время поддерживает только PHP 5.1). У меня есть третья виртуальная машина для разработчика RubyOnRails.

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