O que e todas as áreas do Linux que um desenvolvedor PHP deve conhecer? (Como apenas comandos dele ou algo avançado)

5

Eu desenvolvi um site usando PHP, mas eu o implementei no sistema operacional Windows e o hospedei no servidor Windows. Acabei de pesquisar o mercado de trabalho PHP para conhecer o requisito de tecnologia em andamento e manter meu conhecimento atualizado de acordo com o mercado de trabalho.   Eu vejo mais estão pedindo pilha LAMP. Eu entendo o tipo de habilidades necessárias para um desenvolvedor em PHP e MySQL. Mas chegando ao Linux e ao Apache, que tipo de habilidades exatamente as empresas esperam de um desenvolvedor?

Em que devo me concentrar no caso do Linux, Apache enquanto desenvolvo meu site usando essa pilha LAMP?

Vou desenvolver um novo site e quero que ele esteja usando o LAMP. Mas eu quero saber que diferença isso faz?

Por que o LAMP tem mais demanda no mercado de trabalho em comparação com o WAMP?

Edit: Desculpe eu pensei que a minha pergunta está criando confusão ... então eu coloquei minha pergunta em palavras diferentes como What e todas as áreas de um Linux que um desenvolvedor PHP deveria conhecer? (Como apenas comandos dele ou algo avançado)

Nota: Eu sou novato no Linux

    
por droidsites 12.11.2011 / 17:12
fonte

3 respostas

4

Até onde o LAMP tem um maior mindshare (se não a participação de mercado) do que o WAMP: provavelmente porque os componentes LAMP não têm custos de licenciamento. Isso faz com que você comece mais barato. Cheap Linux hosting tem que ser mais barato do que o Windows barato hospedagem apenas por esse motivo sozinho. A natureza livre / livre do LAMP torna possível apenas experimentá-lo gratuitamente. A partir daí, tudo o mais é um acidente da história, embora o IIS e o Windows tenham, historicamente, problemas de segurança cada vez mais graves do que o Apache e o Linux.

Em relação ao que você precisa saber como desenvolvedor:

  1. Familiarizado com a programação shell.
  2. Pelo menos moderada capacidade de usar um editor de texto, provavelmente vi ou vim
  3. Familiaridade com o Linux básico comandos ls , ps . Não apenas para executá-los, mas para compreendê-los, como descobrir informações sobre eles. ( man ls , man ps , as opções do tipo "--help").
  4. Familiaridade com a visão do usuário de um sistema de arquivos linux. Não apenas coisas como "hierachical", "single root", mas onde você pode encontrar arquivos de configuração, onde HTML mora, onde arquivos .php vivem, o que aparece em / proc /.
  5. Familiaridade com a interface da linha de comandos para o banco de dados. "M" no LAMP é para "MySQL", mas o PostgreSQL é comum.
  6. A familiaridade íntima com ssh , scp , sftp pode ajudar.

Se você tem hardware de reposição, mesmo hardware de 5 ou 6 anos, você pode facilmente instalar algo como o Slackware Linux distro. Apenas colocar o Slackware em funcionamento irá ensinar muito, configurando o Apache, MySQL e PHP para ensinar você ainda mais.

    
por 12.11.2011 / 19:32
fonte
1

Esta é uma boa pergunta e tem circulado por algum tempo. A principal diferença entre o windows e o linux é que o sistema de arquivos linux faz distinção entre maiúsculas e minúsculas. Isso pode causar problemas com pessoas que vão do windows para o linux, porque myPage.php e mypage.php são dois documentos diferentes. Com o linux você pode instalar extensões para o que você precisa e não para tudo. Geralmente o linux ocupa menos espaço e você pode tecnicamente rodar um servidor web em uma máquina de 10 anos como se fosse novo.

Isto pode ser conseguido devido ao linux usando uma unidade swap que funciona em conjunto com o ram. Isso permite que o sistema use espaço no disco rígido para tarefas de arquivo simples e deixe o hardware para tarefas de aplicativo / processo (em geral).

Mas, na medida em que o requisito técnico dos programadores varia de empresa para empresa. Eu tive empresas que queriam ter certeza de que eu poderia programar nelas e outras que queriam que eu administrasse o ambiente.

Um link para alguém que colocou diferenças pode ser encontrado aqui: link

    
por 12.11.2011 / 18:37
fonte
1

Como desenvolvedor, a habilidade mais importante para focar é o desenvolvimento. Há muito mais diferenças entre o Linux e o Windows do que a diferenciação entre maiúsculas e minúsculas. Um LAMP dev deve ter um conjunto de habilidades de gerenciamento de servidor strong, mas você não é um administrador de sistema.

Alguns objetivos concretos: Estar confortável na linha de comando é uma obrigação. Ser capaz de configurar, proteger, configurar e implantar um servidor web do zero em sua distro * nix favorita na linha de comando. Um sólido entendimento de como os daemons de servidor são executados e como eles interagem entre si percorre um longo caminho no diagnóstico de todas as formas de problemas. Ser capaz de configurar e alterar registros DNS e NS. Fique confortável com um sistema de controle de versão, como svn ou git.

No que diz respeito ao WAMP vs LAMP: bem, por um lado, o licenciamento do Windows custa dinheiro. E o Windows vem com um servidor web embutido chamado IIS desde o XP, que pode ser configurado para executar o PHP em ~ 3 cliques, e depois há MSSQL e .NET, que - > ASP, e de repente web dev é todo jogo de bola diferente. Porque, se você for executar o IIS, provavelmente terá uma série de outras ferramentas / conjuntos específicos do Windows que deseja executar (Exchange, AD, etc.) para provavelmente executá-los no Windows Server 2008, não é um sistema operacional de desktop como o Windows 7.

O WAMP é principalmente o material do desenvolvimento do sandbox localhost. Ouso dizer que os desenvolvedores mais experientes que executam o Windows têm o * nix como um dual boot ou uma máquina virtual para propósitos de desenvolvimento. Trabalhar na linha de comando no Windows é difícil de configurar e é desajeitado na melhor das hipóteses, mesmo com PuTTY, Pageant, plink, etc. Se seus recursos permitirem, configurar uma máquina virtual local para aprender provavelmente seria útil para você.

HTH. :)

    
por 12.11.2011 / 19:45
fonte