Pergunta

Depois de se tornar um pouco distante de fonte aberta, e passar alguns anos no desenvolvimento de aplicações web em ASP.Net, eu vou começar a fazer um monte de desenvolvimento PHP / MySQL.

Eu quase sem dor instalado WampServer para obter um ambiente de desenvolvimento instalado e funcionando na minha máquina Windows, mas a plataforma eu vou ser alvo provavelmente será Linux. Então, minha pergunta é, estou propensos a ter problemas devido ao desenvolvimento no Windows ao alvejar Linux? É aconselhável investir na obtenção de uma configuração do ambiente Linux no qual a desenvolver minhas aplicações LAMP?

Foi útil?

Solução

Se você pode eu investir em algum tipo de linux, ou pelo menos * nix, ambiente de desenvolvimento. Para aplicações simples e website a sua configuração é bom, mas você acabará por correr em sutis diferenças quando você implanta.

Aqui estão algumas coisas em cima da minha cabeça que você vai querer tomar cuidado para se você ficar com o seu ambiente Windows.

  1. Caminhos de arquivo. Um monte de funções PHP tomar caminhos de arquivo como argumentos. NÃO utilize o separador de janelas barra invertida (). Mesmo que você esteja em janelas PHP permitirá que você use um separador barra. Idealmente o abstrato esta afastado com sua própria classe de caminho de arquivo.

  2. Apache Módulos, PECL Extensions. Apache Windows e Unix Apache muitas vezes vêm com um conjunto diferente de Apace módulos instalados por padrão. Além disso, a mesma versão de um módulo pode funcionar de forma diferente em uma plataforma diferente. Se o seu aplicativo depende de qualquer apache módulo, verifique se ele está disponível para ambas as plataformas. O mesmo vale para extensões personalizadas PHP (PECL)

  3. Processo de bifurcação. Usando exec, `, etc. em um aplicativo web é uma má idéia para começar, mas se você estiver usando estas funções eles vão se comportar de forma diferente entre Windows e * nix

  4. Escrita Arquivo, Locking, etc. funciona diferente

  5. E-mail é tratado de forma diferente em ambas as plataformas

  6. palavra de código do grupo PHP para Windows é "algumas plataformas". Você pode pesquisar mais em seu próprio se você gostaria

Em geral, quanto mais próximo o seu ambiente de desenvolvimento corresponde ao seu ambiente de produção, os / as questões relacionadas menos ambiente de implementação que você terá.

Espero que ajude!

Outras dicas

Eu venho fazendo isso para o último par de anos e não ter executado em quaisquer problemas ainda -. Se alguma coisa dá-lhe uma vantagem, forçando você a escrever código mais portátil

Permissões e o fato de que em nomes de arquivos do Windows não diferenciam maiúsculas e minúsculas são as duas coisas que eu posso pensar que têm sido uma dor para mim. Mas eles são

  1. solúvel, na pior das hipóteses, com um cliente FTP para alterar permissões.
  2. bom, maneiras fáceis de fazer de você um programador melhor (de uma forma pequena, sim).

Não, desenvolvendo em wamp e em execução na lâmpada deve estar bem, mas pelo menos fase para a lâmpada. Eu tenho ido para os dois lados, sem muitos problemas (ok, costumava haver um monte de problemas de implantação de sites corporativos em WAMP (não tente usar o filtro PHP ISAPI), mas eles podem ser resolvidos agora (fastcgi)). Contanto que você não está adicionando qualquer módulo PECL que estado eles não são suportados no Windows, você não deve ter quaisquer problemas. Também (desde que você está dizendo que você está usando WAMP Eu suponho que você está usando MySql), MSSQL e PHP tem um monte de problemas (o motorista antigo requer limita seriamente o comprimento de sua query).

Em teoria, PHP e MySQL deve ser completamente independente de plataforma.
Na prática, se você vai ter um aplicativo de produção real, eu sugiro que você tem um ambiente de teste que reflecte a produção, para evitar surpresas.

Sim, eu recomendaria desenvolvendo em um ambiente tão perto de seu ambiente de produção possível. Existem diferenças entre como o PHP funciona em Windows, em comparação com Linux. E outras diferenças como como Linux lida com permissões de arquivo em relação ao Windows. Eu corro o servidor VMWare livre com uma máquina virtual Linux. Eu tenho um compartilhamento Samba na VM Linux que eu montar como uma unidade de rede no Windows. Então eu uso Eclipse no Windows como meu editor de código.

Não, porque praticamente a única coisa que você não pode fazer em WAMP se você segmentar LAMP está usando System () / Exec chamadas e normalmente que é uma coisa boa, porque eles devem ser usados ??com muito pouco.

Vale a pena ter uma caixa de areia LAMP para que possa ficar a conhecer onde encontrar - e como editar - arquivos de configuração, se sentir confortável com reiniciar os serviços, a manipulação tarefas agendadas, etc, se você estiver indo para ter de lidar com essas tarefas em produção.

Não.
pastas VirtualBox + compartilhada deve ser útil se você tem cerca de 6-8 horas livres de um fim de semana para obter todos os fundamentos VBox clara e configurações funcionou. Se você estiver migrando para o Linux, o processo pode demorar até um mês e você será altamente improdutiva nesse tempo, em termos de código de produção.
É uma boa idéia para continuar praticando o Linux em VBox para Windows, com antecedência antes de comutação, usando um dos [PCLinuxOS, CentOS, OpenSuse, Ubuntu]. Eu prefiro CentOS, PCLinuxOS. Há uma jóia chamada SLAMPP e outra beleza chamado XAMPP <- obras em Linux e Windows
. IMO, como um guesstimate áspera, se você esperar para código 2000-3000 linhas de código (que você escreve / add) por projeto, por 6mo-1ano, vara para Windows e Linux mestre enquanto isso usando VBox.
Se acima disso, ou se você planeja fazer uma nova legal website LAMP, eu acho que você deve mudar para o Linux pela primeira vez. Tome um mês mais para se acostumar com Linux. Você ainda pode baralhar ao redor com dual boot ou VBox durante o tempo que você gosta, começando tão cedo quanto possível -. Aprender o suficiente Linux para depurar um aplicativo LAMP faz tempo take

Caminhos, cuidado com os caminhos. Você pode construir um todo cms e iria atrapalhar, porque de caminhos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top