O código PHP não será executado no CentOS como no Debian

0

Eu tenho uma máquina Debian executando Apache e PHP 5. Eu tenho um site que roda muito bem, nenhum back-end de banco de dados é apenas PHP.

Estou tentando mover o site PHP para uma máquina baseada no CentOS. Mas estou recebendo todos os tipos de erros estranhos.

Qual é a diferença além de apache2e httpd. Como posso fazê-lo funcionar sem modificações no código?

opc0de
fonte
11
Embora a resposta de JakeGould seja extremamente útil, a menos que você nos forneça mais detalhes, essa pergunta parece mais adequada ao Stackoverflow, pois envolve erros de programação. Se você pode fornecer alguns desses erros, talvez possamos explicar o motivo pelo qual você está recebendo esses erros.
Ramhound

Respostas:

1

Sem conhecer os erros específicos nos quais você está se deparando, isso não é fácil de diagnosticar. Mas estou confiante de que isso não tem 100% a ver com um sistema sendo o CentOS e outro sendo o Debian; O código PHP é executado em qualquer sistema que possa executar o código PHP.

Tudo o que disse, você afirma isso:

Qual é a diferença além de apache2e httpd. Como posso fazê-lo funcionar sem modificações no código?

Há 100% nenhuma diferença entre apache2e httpdnome-sensato entre Debian ( apache2) e CentOS ( httpd). Esses são simplesmente nomes binários do sistema e a equipe de desenvolvimento central do CentOS / RedHat / Fedora parece preferir o httpdapelido mais genérico do Apache ao invés do específico da marca apache2.

Sabendo disso, estou bastante confiante de que, se esse é um problema de código PHP, ele não tem 100% a ver com o Apache. Em vez disso, pode haver problemas com as versões instaladas do PHP 5 em execução em cada máquina.

Por exemplo, o código que roda bem no PHP 5.1 não necessariamente roda bem no PHP 5.2, 5.3, 5.4, etc. na funcionalidade de código que faria com que o código do PHP 5.3 bloqueasse no PHP 5.4.

De fato, na minha experiência pessoal, muitos dos sites que eu administro permanecem no PHP 5.3 agora até que sejam feitas as principais atualizações de código PHP para tornar o código "agradável" com o PHP 5.4. Essas mudanças envolvem apenas o ajuste de algumas funções principais para acomodar alterações na interface / função principal entre o PHP 5.3 e 5.4, mas é isso; não há pressa em lidar com isso ainda porque o sistema operacional principal em que esses sistemas estão instalados tem o PHP 5.3 instalado e funciona bem.

Eu recomendo que você compare os números de versão do plugin PHP Apache, verificando a saída de phpinfo()ambos os servidores e vendo quais versões estão instaladas e sendo usadas em cada uma. Para fazer isso, basta criar um arquivo na raiz da web de cada servidor chamado phpinfo.phpassim; Estou usando nanocomo editor de texto, mas fique à vontade para usar o editor de texto que você preferir:

nano /var/www/phpinfo.php

Observe também que estou usando /var/www/como seu caminho de raiz da web; certifique-se de alterar isso para corresponder à raiz da web do seu sistema real.

Agora basta colocar o seguinte código nesse phpinfo.phparquivo:

<?php

// Show all information, defaults to INFO_ALL
phpinfo();

?>

Agora carregue isso phpinfo.phpatravés de um navegador da web através de um URL como este; altere o nome do host para corresponder ao nome do host real do seu sistema:

http://localhost/phpinfo.php

Bem no topo da página, haverá uma grande faixa roxa que informa exatamente qual versão do PHP você está usando como esta, que mostra claramente o sistema em que estou testando a versão 5.4.10 do PHP:

"phpinfo ()" exemplo banner da versão 5.4.10 do PHP.

Observe que, embora a maioria das versões instaladas do PHP possua potencialmente um interpretador de linha de comando, esse interpretador de linha de comando PHP não tem 100% a ver com a versão do plugin Apache PHP. Portanto, a saída de php -vfornecerá apenas informações sobre o interpretador de linha de comando PHP instalado; phpinfo()é o que você sempre deve usar para confirmar / verificar se a versão do seu servidor Web atual está em execução.

JakeGould
fonte