Каковы преимущества и недостатки запуска PHP на Windows - PullRequest
1 голос
/ 27 января 2010

среда linux естественна для php,

Какие преимущества и недостатки у запуска php на windows?

Есть ли какие-то ограничения в Windows?

Что лучше (лампа / лампа) с точки зрения производительности?

спасибо

Ответы [ 9 ]

4 голосов
/ 27 января 2010

Это не так много, что естественно для Linux, но разработчики имели тенденцию использовать PHP в более ранние дни в качестве ASP на Linux. В течение многих лет MS даже не упоминала PHP и никогда не оказывала ему никакой поддержки, и поэтому большая часть разработок велась на арене Linux, в результате чего она стала более продвинутой, поскольку на нее просто потрачено больше часов разработки.

Опять же, в первые дни было сложнее запустить PHP на ISS, но apache делает это проще, но тогда вам нужно его установить. Я редко занимаюсь разработкой под Windows, но думаю, что среда изменилась в лучшую сторону с большей интеграцией.

Появление пакетов, таких как XAMPP и WAMPP, значительно упрощает установку и запуск, но, как говорит Карстен, не совсем для производственной среды, поскольку они не приспособлены для этого по производительности и особенно по уровню безопасности, поэтому я также сомневаюсь, что они ориентированы на производительность, они предназначены для простоты установки и разработки.

4 голосов
/ 27 января 2010

Чувствительность к регистру может быть проблемой, если вы разрабатываете в Windows, а затем переходите на Linux.

2 голосов
/ 27 января 2010

Для этого есть сайт от Microsoft http://php.iis.net/

Для хорошей производительности также проверьте http://www.iis.net/expand/fastcgi

2 голосов
/ 27 января 2010

Что ж, есть очевидная проблема, связанная с попыткой скомпилировать расширения PECL на платформе Windows, и проблемы, связанные с отсутствием запуска sendmail и попыткой использования функции mail.

Кроме этого, если источник был правильно перенесен, он должен работать нормально.

1 голос
/ 27 января 2010

Большинство и основные разработчики PHP (я имею в виду, те, кто создает язык), похоже, работают на платформе Unix. Кроме того, почти все дистрибутивы Linux занимаются сборкой, упаковкой и исправлением PHP в соответствии со своими системами. И это также относится к вспомогательному программному обеспечению, такому как Apache. В результате:

  • Всегда есть некоторые функции, которые не работают в Windows, например strptime () или содержит больше ошибок.
  • Двоичные файлы Windows не оптимизированы для вашей системы. Вы даже не сможете получить 64-битные бинарные файлы, если сами не скомпилируете их.
  • Установщики MSI не так отполированы, как должны.
  • Установка расширений PECL очень сложна, поскольку нет официальных DLL.

Конечно, в PHP есть также функциональность только для Windows, такая как расширения только для Windows или сторонние расширения, такие как Драйвер Microsoft SQL Server для PHP , или функциональность, которая такова. проще в использовании под Windows, например ODBC .

Говоря о самой производительности, трудно провести справедливое сравнение. Сами операционные системы предъявляют очень разные требования к оборудованию, и было бы неверно сравнивать оптимизированные сборки Unix с обычными двоичными файлами Windows. Моя интуиция говорит, что решение о выборе любой платформы должно основываться на других соображениях, таких как бюджет, требуемые функции или простота обслуживания.

1 голос
/ 27 января 2010

Существует множество особенностей на платформах с PHP, и я не рекомендую переключаться между LAMP / BAMP / SAMP и WAMP / WIMP.

С одной стороны, разрешения совершенно разные -> с ними обычно труднее работать в Unix / Linux (поскольку Windows, кажется, не слишком заботится о разрешениях, насколько я когда-либо видел). Это хорошая вещь, по моему мнению, хотя (я относительно параноик безопасности).

Вот еще пара вещей, которые отличаются:

http://php.net/touch (невозможно изменить время изменения каталога Windows до 5,3)
http://php.net/flush (все еще не может flush или ob_flush с некоторых машин win32)

У обоих есть специфичные для системы проблемы, которые были недавно решены СУПЕР или еще не были устранены ...

1 голос
/ 27 января 2010

Очевидная проблема с PHP в Windows / Apache заключается в том, что не может настроить PHP APC для текущих версий PHP. Следовательно, нет способа создать элегантных загрузок файлов с индикатором выполнения.

1 голос
/ 27 января 2010

Если вы работаете в среде Windows, запуск ваших скриптов application / php там имеет смысл, если вы хотите отлаживать локально.

Я бы не использовал WAMP для производственных сред, потому что его природа в linux imho.

XAMPP решает проблему sendmail, о которой говорит amphetamachine, путем установки ртутной почты. Он также поставляется с предварительно собранными модулями xdebug, apc и memcache, которые являются для меня обычными расширениями, скомпилированными pecl.

1 голос
/ 27 января 2010

Я не могу дать вам статистику эффективности. Можно было бы предположить, что крайне урезанная версия Linux или BSD является лучшей с этой точки зрения.

Есть два основных недостатка Windows. Во-первых, вам, вероятно, придется самостоятельно создавать некоторые из менее используемых расширений, если они вам нужны. (Есть 32-битные сборки Windows - APC и т. Д. - доступные для сети для 32-битных систем. Для 64-битных Windows ... ну, это джунгли) будет в меньшинстве, так что ожидайте, что все идет рука об руку с этим. (Например, если вы столкнетесь с трудностями при настройке, вероятно, вам будет меньше людей, способных вам помочь.)

Преимущество заключается в том, что (особенно если ваша любимая среда разработки похожа на Visual Studio) вы можете запускать все свои любимые компоненты Windows на компьютере. Это действительно только преимущество, если, скажем, это блок разработки - то, что вы собираетесь использовать и для других целей, а не только для сервера.

...