Неумно ли разрабатываться для ЛАМПЫ на WAMP?

После того, как стал несколько отчужденным с открытым исходным кодом и потратил несколько лет на разработку веб-приложений в ASP.Net, я собираюсь начать довольно много разработки PHP/MySQL.

Я безболезненно установил WampServer, чтобы создать среду разработки на моем компьютере под управлением Windows, но платформа, на которую я буду быть ориентированным, скорее всего, будет Linux. Итак, мой вопрос: возможно, у меня возникнут проблемы из-за разработки в Windows при ориентации на Linux? Целесообразно ли инвестировать в настройку среды Linux для разработки моих приложений LAMP?

Ответы

Ответ 1

Если вы можете инвестировать в какой-то Linux или, по крайней мере, в * nix, среду разработки. Для простых приложений и веб-сайтов ваша настройка в порядке, но при развертывании вы будете сталкиваться с незначительными различиями.

Вот некоторые вещи с моей головы, которые вам понадобятся, если вы будете придерживаться своей среды Windows.

  • Пути файлов. Многие функции PHP принимают пути к файлам в качестве аргументов. НЕ используйте разделитель окон обратной косой черты(). Даже если вы находитесь на Windows, PHP позволит вам использовать разделитель косой черты. Идеально абстрагируйте это с помощью собственного класса пути к файлу.

  • Модули Apache, расширения PECL. Apache Windows и Apache Unix часто поставляются с другим набором модулей Apace, установленных по умолчанию. Кроме того, одна и та же версия модуля может работать по-разному на другой платформе. Если ваше приложение использует любой модуль apache, убедитесь, что оно доступно для обеих платформ. То же самое касается PHP-пользовательских расширений (PECL)

  • Процесс вилки. Использование exec, `и т.д. В веб-приложении - это плохая идея, но если вы используете эти функции, они будут вести себя по-разному между окнами и * nix

  • Запись файлов, блокировка и т.д. работают разные

  • Электронная почта обрабатывается по-разному на обеих платформах.

  • Кодовое слово группы PHP для Windows - это "некоторые платформы". Вы можете исследовать самостоятельно, если хотите

В целом, чем ближе ваша среда разработки соответствует вашей производственной среде, тем меньше проблем, связанных с окружающей средой/развертыванием.

Надеюсь, что это поможет!

Ответ 2

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

Ответ 3

Разрешения и тот факт, что имена файлов Windows не чувствительны к регистру, - это две вещи, которые я могу думать о том, что это была боль для меня. Но они

  • Разрешимо, в худшем случае с ftp-клиентом для изменения разрешений.
  • Хорошие, легкие способы сделать вас лучшим программистом (малым образом, да).

Ответ 4

Нет, разработка на лампе и работа на лампе должна быть прекрасной, но, по крайней мере, на лампе. Я обошел оба пути без особых проблем (хорошо, там было множество проблем с развертыванием корпоративных сайтов на WAMP (не пытайтесь использовать фильтр PHP ISAPI), но они теперь разрешимы (fastcgi)). Пока вы не добавляете какие-либо модули PECL, которые заявляют, что они не поддерживаются в Windows, у вас не должно быть никаких проблем. Кроме того (поскольку вы заявляете, что используете WAMP, я предполагаю, что вы используете MySql), mssql и PHP имеют кучу проблем (для старого драйвера это серьезно ограничивает длину вашего запроса).

Ответ 5

Теоретически PHP и MySQL должны быть полностью независимыми от платформы.

На практике, если у вас будет реальное производственное приложение, я предлагаю вам иметь тестовую среду, отражающую производственную, чтобы избежать сюрпризов.

Ответ 6

Да Я бы рекомендовал разрабатывать среду как можно ближе к вашей производственной среде. Существуют различия между тем, как PHP работает в Windows по сравнению с Linux. И другие различия, как то, как Linux обрабатывает разрешения файлов по сравнению с Windows. Я запускаю бесплатный сервер VMWare с виртуальной машиной Linux. У меня есть доля Samba на виртуальной машине Linux, которую я монтирую как сетевой диск в Windows. Затем я использую Eclipse в Windows в качестве редактора кода.

Ответ 7

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

Ответ 8

Стоит иметь изолированную среду LAMP, чтобы вы могли узнать, где искать - и как редактировать - создавать файлы конфигурации, устраивать перезапуск служб, обрабатывать запланированные задания и т.д., если вам придется решать эти задачи в производство.

Ответ 9

Нет.
Виртуальные боксы + общие папки должны быть полезны, если у вас есть 6-8 часов бесплатно в один уик-энд, чтобы все основные принципы VBox были четкими и настройки были разработаны. Если вы переходите на Linux, процесс может занять до месяца, и вы будете очень непродуктивными в то время с точки зрения производственного кода.
Хорошая идея - продолжать практиковать Linux на VBox для Windows, заранее перед переключением, используя один из [PCLinuxOS, CentOS, OpenSuse, Ubuntu]. Я предпочитаю CentOS, PCLinuxOS. Там жемчужина, называемая SLAMPP, и еще одна красота под названием XAMPP < - работает в Linux и Windows.
IMO, как примерный пример, если вы ожидаете код 2000-3000 строк кода (который вы пишете/добавляете) для каждого проекта, для 6mo-1yr, придерживайтесь Windows и мастер Linux, тем временем используя VBox.
Если выше, или если вы планируете создать новый новый LAMP-сайт, я думаю, вы должны сначала переключиться на Linux. Возьмите еще месяц, чтобы привыкнуть к Linux. Вы все равно можете перемещаться с помощью двойной загрузки или VBox до тех пор, пока вам нравится, начиная с самого начала - обучение Linux достаточно для отладки приложения LAMP требует времени.

Ответ 10

Пути, остерегайтесь путей. Вы можете построить целые cms, и это испортит из-за путей.