Неумно ли разрабатываться для ЛАМПЫ на 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, и это испортит из-за путей.