3

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

Я лично использую Windows и у меня такие же результаты в процессе разработки. Я также разрабатываю много графики и мне удобнее всего использовать Windows.

Есть ли какие-либо преимущества использования Linux над Windows в среде разработки, если да, то чем они могут быть?

4 ответа4

7

Заметным отличием является чувствительная к регистру файловая система. Например, если у вас есть файл с именем «Bootstrap.php» (верхний регистр B), и ваш код содержит строку require_once('bootstrap.php'); (нижний регистр b), будет работать в Windows и не работать в Linux.

Иногда есть также только Windows, только Linux или даже специфичные для версии ошибки с различными библиотеками, используемыми PHP.

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

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

5

Я использовал Windows, Mac и Ubuntu для разработки PHP, и если ваша среда настроена правильно, нет никакой разницы, imho.

Некоторые инструменты, такие как Git, менее доступны для Windows, поэтому вам, возможно, придется искать специальные развертываемые файлы или использовать cygwin, но, вообще говоря, без разницы.

2

Некоторые сценарии php командной строки сталкиваются с различными проблемами на моем компьютере с Windows.

Например, у меня был интерфейс командной строки Symfony, который выбрасывает кеш: устраняет ошибки в Windows, тогда как он отлично работает в моей среде Linux.

Я также однажды столкнулся с радостью от выполнения ~ 60 запросов, потому что я использовал верблюжий регистр в именах таблиц и ссылался на них в своих запросах (который работает под Windows, поскольку игнорирует регистр). Когда я поместил проект в наш стек LAMP, запросы не были выполнены, потому что MySql в Linux хранит имена таблиц как строчные, и они чувствительны к регистру.

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

Подобные мелочи стоили мне производительности в прошлом. Опять же, так есть почти в каждом обновлении Ubuntu, так что это компромисс;)

2

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

Многие разработчики также отдают предпочтение инструментам, которые могут быть в той или иной ОС - возможно, ваши другие разработчики являются поклонниками Vim или Emacs, например, или по предпочтению используют клиента системы управления версиями cli.

Конечно, вы можете получить лучшее из обоих миров с виртуальной машиной (или отдельным сервером linux) и / или использованием putty и smb для совместного использования файлов.

Тем не менее, в конце дня вы должны чувствовать себя комфортно с базовыми настройками. Начните работать в Windows - найдите реальные проблемы, с которыми вы сталкиваетесь в среде, и выясните, как их обойти.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .