Pergunta

Em alguns meses eu começo um projeto em PHP e estou hesitando em fazer como de costume: desenvolver no meu Windows Vista 64bits máquina. Desde que eu sei algumas coisas sobre Linux, eu acho que pode ser uma boa maneira de aprender trabalhando em uma distribuição Linux.

Você acha que é uma boa idéia ou não? eu correria um VirtualBox com o Ubuntu (em meus Vista64bits). Eu estava pensando para instalar XAMPP para ser capaz de se desenvolver em PHP.

Se você acha que é uma boa idéia, fique à vontade para me sugerir algum tutorial sobre o que eu deveria saber com Virtualizar um OS ou Linux / dev.

Atualizar Eu tenho construir muitos site em PHP com o Windows, a questão é mais sobre se é uma boa maneira de começar a aprender Linux, desenvolvendo nele através de uma máquina virtual? Eu tenho 4 GB carneiros, ele será suave se eu instalar Eclipse na Máquina Virtual? etc.

Foi útil?

Solução

Você realmente deve desenvolver na mesma plataforma onde você está indo para implantar. Eu não estou dizendo que é ruim para fazer diferente, mas você pode economizar um pouco de dor no longo prazo. OTOH, você pode aprender mais rápido sobre as diferenças de plataforma que maneira. Então, a questão principal é: você quer ter um sistema de produção em execução o mais rápido possível, sem muita dor de cabeça? Ou, você quer passar algum tempo e fazer algum esforço para aprender a desenvolver o material multi-plataforma?

E, sim, há diferenças. Por exemplo, caso sensível e em caso sensíveis nomes de ficheiros. Então, algumas funções PHP usar funções nativas C que têm implementação diferente. Por exemplo, printf () não produz a mesma quantidade de espaço em branco para alguns dos tipos. Resolução de medição de tempo (milissegundos vs microssegundos) pode ser diferente, etc. Então, você têm maneiras diferentes de sistemas de arquivos permissões são tratadas. Estes são apenas alguns problemas recentes que eu encontrei que me lembro fora do topo da minha cabeça.

Outras dicas

PHP deve ser o mesmo em qualquer plataforma -. Modo , onde você desenvolver não deve importar

No entanto, na minha experiência e observação, mais sites que executam o PHP está rodando em Linux que o Windows.

Obter configuração Apache e PHP em algo como Ubuntu ou Fedora é uma coisa fácil, e testando tudo é bastante simples também.

Além disso, quando você ir viver com o seu site, que plataforma será que vai ser executado em? Eu prefiro fazer o desenvolvimento na plataforma que será executado em sempre que possível.

Pessoalmente, eu não acho que para a produção local, você deve estar usando um VM. Você estaria executando o seu IDE dentro da VM também?

Se você é bastante ciente das armadilhas de mover-se entre ambientes Windows e Linux (como a sensibilidade caso e permissões), você deve ter nenhum problema de desenvolvimento no Windows e implantar no Linux.

Trabalho em uma distribuição Linux é defnitely a maneira mais fácil de aprender. E criação de alguns servidores e fazer alguns trabalhos dev é um excelente começo.

virtualização Linux também é muito fácil. Já fiz isso algumas vezes e é realmente obious. Além disso, indo desta forma, facilitar-lhe em usar o Linux, muito melhor do que apenas saltar dentro e descobrir o seu cartão sem fio não é suportado como eu fiz:)

Como para o desenvolvimento PHP no Linux ... Já fiz alguns codificação no Windows e no Linux PHP e posso dizer-lhe que há muito pouca diferença entre os dois. Eu uso o Eclipse em ambas as plataformas e Apache e MySQL / XAMPP. A única grande diferença que eu vi é que o Linux é muito mais exigente com permissões e caso.

PHP é não o mesmo em todas as plataformas, e até muito recentemente as versões de Windows tem problemas que não foram encontrados nas versões do Linux. Lotes de características úteis são * nix específica.

Gostaria echo @ sentimentos de Milão sobre o desenvolvimento no ambiente de implementação. Você aprende muito mais sobre o ambiente de implementação ao fazê-lo também.

Sobre a questão VM, se você quiser todas as suas ferramentas do Windows e suas janelas da máquina, configurar um linux servidor em sua VM (pode ter um GUI se você quiser, mas você vai principalmente usá-lo como um servidor). Configurá-lo para que o Windows pode ver a instalação do Apache rodando em sua VM e você usar samba ações para acessar os arquivos da VM como uma unidade no Windows. Dessa forma, você desenvolve no Windows, mas estão testando deploy / configuração em um servidor linux em execução. Enquanto dois devs em minha loja rodar o Ubuntu, um terceiro necessidades de usar Photoshop e vários outros pedaços de software janelas o tempo todo, de modo que ela usa esse método de executar um servidor em uma máquina virtual, mas o desenvolvimento de janelas.

Oh, e se você está rodando em Linux, não use XAMPP! Alguns comandos simples você vai ter instalado e funcionando e você terá uma compreensão muito melhor de sua implementação. XAMPP é bom, mas é para OS de que não têm gerenciamento de pacotes do Linux.

XAMPP funciona muito bem, rodando Apache e PHP no Linux é um dado; enquanto no Windows é algo extra que você tem que fazer ... e apoio. Além disso, a maioria das partes da pilha são muito mais otimizado e amadurecer para um ambiente POSIX. O motor de banco de dados (s) o desempenho é particularmente sensível para os primitivos disponíveis.

A maioria OSS roda em Windows, mas é um prego redondo whammed em um buraco quadrado.

Em princípio, gostaria de aconselhar contra "aprender fazendo" em um projeto real - a menos que ele realmente pequeno, ou você doen projetos muito semelhantes antes, de modo que a curva de aprendizagem sobre questões relacionadas ao projeto não seria íngreme. Nesse caso, você pode ter ressources livre para aprender sobre o ambiente de desenvolvimento.

Geralmente eu gosto do ambiente Linux melhor do que o Windows. Principalmente porque todas as ferramentas CLI que você precisa são fornecidos e Bash bate cmd.ext qualquer momento. Mas com Cygwin eu encontrar até mesmo o Windows um ambiente de desenvolvimento confortável.

Quanto ao desenvolvimento PHP eu realmente não posso ver como seria muito diferente. Talvez haja algum benefício em ser forçado a tornar o código mais portátil (coisas como terminações de linha, barras em nomes de arquivos e tal) se utilizam sistemas de cabine.

Como um desktop ou estação de trabalho, não há muita diferença entre os dois. Acho que as maiores mentiras diferenças na forma como você administra-los, mas hopefullt você tem algumas outras pessoas fazendo isso por você.

Na minha opinião você não precisa se desenvolver em uma distribuição linux. Desenvolvimento Web pode ser feito a partir de qualquer sistema operacional. Eu não sei, por que você está programando para a web ... como um profissional? para sua página pessoal? Eu acho, é o suficiente para obter algum espaço livre executando um PHP Server e fazer upload de seus arquivos lá ... ele não leva muito tempo e há menos coisas para gerenciar.

um estudante alemão;)

Use o sistema operacional seu servidor de implantação será executado, e é altamente provável que ser linux. Eu vi recentemente uma implantação gone ultra-ruim porque ele foi desenvolvido usando wampserver e implantado no CentOS. Com grandes diferenças na apache e PHP configuração. Então sabe o seu servidor de implantação e combiná-lo tanto quanto possível.

Tente criar um ambiente de desenvolvimento usando o VMware Player. Tenho vários ambientes Linux que eu corro no meu laptop Vista. Você também pode apenas dual boot. Eu uso Ubuntu, é fácil.

O efeito colateral de desenvolver dentro de uma VM: mais sobrecarga e, eventualmente, as necessidades de ferramentas adicionais para tornar o desenvolvimento mais confortável. Muitas vezes as pessoas precisam de ferramentas especiais para o seu desenvolvimento como o Photoshop ou algumas ferramentas de design vetor não disponíveis no Linux. Se a cópia de trabalho do projeto está dentro da VM, faz sentido ter fácil acesso a ela. Então você irá configurar SAMBA (que faz muitas vezes problemas com o login do XP) ou a configuração SSL (SFTP) / FTP. Além disso, você deve aprender a usar a rede com a VM (NAT, bridging, encaminhamento de porta).

Por outro lado, o desenvolvimento em outra plataforma como o alvo pode dar alguma dor de cabeça. Eu encontrei-me muitas vezes confundido com arquivos .htaccess para proteção de senha, porque muitas vezes o caminho diferente em Windows / Linux. Se você esquecer de mudar esta entradas mais tarde no servidor de produção, você tem um problema ...

Uma solução melhor: usar o melhor dos dois mundos. A VM, eventualmente correr sem cabeça mais tarde (sem gui, mais como um "servidor remoto") com Ubuntu / Debian / FreeBSD) e apenas executando os servidores necessários (Apache, MySQL, FTP, SSH ...).

Eclipse ou as outras ferramentas de desenvolvimento em Windows / Mac.

5 anos depois: Minha opinião é usar a solução Linux. Há muitas vantagens para a utilização de PHP em Linux. A principal razão é o nível de ajuda disponível a partir da comunidade. PHP parece ser otimizado para ambientes Linux.

Há também segurança em números como um número esmagador de sites são hospedados e correr com soluções lâmpada. Há uma grande variedade de quadros e CMS' que funcionam melhor no Linux com Apache2.

Faça a sua vida mais fácil e começar a aprender PHP imediatamente.

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