É bom codificar PHP no Windows e hospedá-lo posteriormente em um servidor executando Linux? Pode haver algum problema na migração de um projeto desse tipo?
Eu acho que realmente não pode haver nenhum problema, especialmente porque eu sou iniciante em PHP e não usarei nenhuma das funções avançadas que possam ser específicas do sistema operacional. No entanto, gostaria de ter certeza, já que realmente não gosto do Linux.
Respostas:
Algumas dicas:
Distinção entre maiúsculas e minúsculas do sistema de arquivos
Se o seu arquivo se chama HelloWorld.php, faça o seguinte:
é legítimo no Windows e funcionará. Mas os nomes de arquivo Linux são caso sensível, você pode ter arquivos chamados
HelloWorld.php
,helloworld.php
,hEllOwOrlD.php
no mesmo diretório. Portanto, você deve desenvolver no Windows como se estivesse desenvolvendo um sistema de arquivos que.php
diferencia maiúsculas de minúsculas: use exatamente os nomes de arquivos, nomes de diretórios e nomes de extensões corretos - também é diferente de.PHP
.Separadores de diretório e caminho
No Windows, dizemos:
Mas no Linux diríamos:
O PHP é inteligente o suficiente para não se importar, os dois separadores funcionam nos dois sistemas. Mas você deve ser consistente e usar a barra (/) em todos os lugares, pois também é a norma na maioria dos sistemas. Há uma constante bacana predefinida
DIRECTORY_SEPARATOR
que se traduz na correta, se você quiser ir tão longe:O mesmo vale para o separador de caminho, que é ponto-e-vírgula no Windows, caso contrário, dois pontos. Para estar seguro, você deve fazer:
quando precisar de um separador de caminho. Embora a maioria das pessoas pense que, como o PHP não se importa com o separador que você usa, está tudo bem, mas há um problema importante: os separadores serão os específicos do sistema quando você solicitar diretórios ou caminhos ao sistema. Então, digamos que você queira explodir o caminho de inclusão em suas partes:
Codificação e delimitador de arquivo
Você deve configurar seu IDE para definir a codificação de arquivo para todos os seus scripts como UTF-8 em vez de Cp * e o delimitador de linha de arquivo como Unix (em
"\n"
vez de"\r\n"
). Na maioria dos casos, isso realmente não importa, mas você deve ser consistente e a melhor maneira é a maneira Unix (que funciona bem no Windows, mas não vice-versa).fonte
Você não pode executar
strftime()
com%e
em ambiente Windows, como é observado na página do manual :fonte
Não haverá problemas ao executar o código. Se você editar os arquivos salvos no Windows no Linux, poderá notar que os caracteres de final de linha podem ser diferentes, mas não prejudicam nada. Se isso lhe incomoda, você configura o IDE / editor do Windows para usar o fim de linha do Unix.
fonte
Prepare-se com uma plataforma de teste do Linux. Pode ser um computador Linux virtual executando no Windows, pode ser um computador de inicialização dupla, pode ser o sistema de um amigo. De vez em quando (por exemplo, nas manhãs de segunda-feira), transforme seu código no sistema Linux e teste-o.
As outras respostas trataram dos principais problemas que você enfrentará, mas existem inúmeras dicas menores, como:
Sim, existem maneiras de solucionar cuidadosamente todas essas diferenças, mas você teve o cuidado de usar as soluções alternativas? Claro que não - você codificou e ele funcionou, portanto deve estar OK.
Não coloque nada em um computador host até que ele tenha sido testado em um sistema operacional semelhante.
Não tenho experiência em migrar do Windows para o Linux, mas tenho alguma experiência em migrar do Linux para o Windows e mais experiência em migrar do Linux para o OS X. Isso pode ser feito, mas as chaves são testar, testar e testar.
fonte
Embora eu esteja bastante confortável com a linha de comando do Linux e com as ferramentas de edição do Linux, como vim, faço a maior parte do meu desenvolvimento PHP em uma máquina Windows.
Eu tenho um servidor virtual na internet (me custa cerca de US $ 20 por mês) que eu uso como servidor de desenvolvimento e me conecto a ele usando o FileZilla. O FileZilla baixa os arquivos que estou editando em um diretório temporário e monitora os salvamentos e, quando eu os salva, os lança novamente no servidor de desenvolvimento, e testo a partir daí.
É um pouco complicado, mas me permite fazer o desenvolvimento praticamente em qualquer lugar; usando o FileZilla e um editor simples em um pen drive, posso conectar-me de outro computador e fazer alterações. Como todos os testes estão sempre no servidor Linux, eu pego todos os problemas que eu possa ter causado imediatamente - menos surpresas desagradáveis quando jogo o código no servidor.
Você pode fazer o mesmo com uma conta de hospedagem barata (embora, dependendo do tipo de aplicativo que está desenvolvendo, você possa ter problemas de desempenho, pois as contas de hospedagem baratas geralmente são pouco poderosas) e outros aplicativos de FTP também têm o recurso editar e funcionalidade de upload.
fonte
Sim, isso pode ser feito, mas você deve considerar várias coisas. Verifique as respostas para mais informações.
É uma dessas coisas, às vezes os desenvolvedores precisam fazer, devido aos recursos, não porque eles gostam.
Você pode ter um servidor web local (apache, cherokee e até M $), no seu PC e servidor PHP instalado. E o seu PC pode não ter conexão com a Internet ou pode se conectar apenas por curtos períodos de tempo.
Posteriormente, você pode atualizar um site real, atualizando seu arquivo para o servidor real, com ferramentas de ftp, com o mesmo PC ou outro PC, conectado à Internet.
fonte
Como a maioria das pessoas disse que realmente não deveria haver problemas. Dito isto, o VirtualBox facilita muito, realmente, a instalação de uma máquina virtual linux na qual você pode testar sua base de código para garantir que ela funcione no ambiente de produção sem ter esse ambiente de produção à mão.
fonte