Quais são os benefícios de usar o sistema operacional Linux para desenvolver um site baseado em PHP?

3

em um ambiente PHP dev que eu visitei recentemente, o desenvolvedor do lead estava convencido de que eles usavam o Linux em suas máquinas para o desenvolvimento do Zend.

Eu pessoalmente uso o Windows e tenho os mesmos resultados durante o desenvolvimento. Eu também desenho muitos gráficos e me sinto mais confortável usando o Windows.

Existe alguma vantagem em usar o Linux sobre o Windows em um ambiente de desenvolvimento? Em caso afirmativo, quais poderiam ser?

    
por Kyle 19.10.2011 / 22:24

4 respostas

5

Eu tenho usado o Windows, Mac e Ubuntu para desenvolvimento PHP, e se o seu ambiente está configurado corretamente, não há absolutamente nenhuma diferença.

Algumas ferramentas, como o Git, estão menos disponíveis para o Windows, por isso talvez seja necessário procurar implantações especiais ou usar o cygwin, mas, em geral, não há diferença.

    
por 19.10.2011 / 22:39
7

Uma diferença notável é o sistema de arquivos que diferencia maiúsculas de minúsculas. Por exemplo, se você tiver um arquivo chamado "Bootstrap.php" (letra maiúscula B) e seu código contiver a linha require_once('bootstrap.php'); (letra minúscula b), funcionará no Windows e falhará no Linux.

Às vezes, há também apenas o Windows, somente o Linux ou até mesmo bugs específicos da versão com bibliotecas diferentes usadas pelo PHP.

Em resumo, é melhor desenvolver em um ambiente que seja o mais próximo possível do sistema de produção.

Se necessário, uma configuração possível é usar uma coleção de máquinas virtuais para cada ambiente para o qual você está programando.

    
por 19.10.2011 / 22:54
2

Alguns scripts php de linha de comando são executados em vários problemas na minha máquina Windows.

Por exemplo, tive a CLI do Symfony lançando cache: erros claros dentro do Windows, enquanto que funciona perfeitamente no meu ambiente Linux.

Eu também tive a alegria de executar ~ ~ 60 consultas porque usei o camel case em meus nomes de tabela e me referi a eles como tal nas minhas consultas (que funciona no Windows, pois ignora maiúsculas e minúsculas). Quando coloquei o projeto em nossa pilha LAMP, as consultas falharam porque o MySQL no Linux armazena os nomes das tabelas como todas as letras minúsculas e diferenciam maiúsculas e minúsculas.

Além disso, como minha máquina Windows era meu servidor de teste local, uma vez eu corri para uma biblioteca PHP e não precisava estar disponível para o Windows.

Poucas minúcias como essa me custaram produtividade no passado. Então, novamente, então tem quase todas as atualizações do Ubuntu, então é um dar e receber;)

    
por 20.10.2011 / 00:07
2

O mais simples que posso imaginar é que, se o seu ambiente de desenvolvimento e o ambiente de implementação forem semelhantes, você terá mais facilidade para obter dependências. Se é um projeto independente, mas em muitos aplicativos baseados na web é necessário puxar dependências externas - pergunte ao seu lead sobre quais bibliotecas externas elas usam e como elas são atualizadas

Muitos desenvolvedores também têm preferência por ferramentas que podem estar em um sistema operacional ou outro - possivelmente seus outros desenvolvedores são fãs do Vim ou Emacs, por exemplo, ou usam um cliente do sistema de controle de origem cli de preferência.

Claro, você pode obter o melhor dos dois mundos com uma VM (ou um servidor linux separado) e / ou o uso de putty e smb para fazer compartilhamentos de arquivos.

No final do dia, você precisa estar confortável com a configuração básica. Comece a trabalhar no Windows - encontre os problemas reais que você enfrenta no ambiente e descubra como contorná-los.

    
por 20.10.2011 / 01:58