Sin conocer los errores específicos con los que se encuentra, esto no es fácil de diagnosticar. Pero estoy seguro de que esto no tiene nada que ver 100% con un sistema que sea CentOS y otro sea Debian; El código PHP se ejecuta en cualquier sistema que pueda ejecutar código PHP.
Todo lo dicho, usted dice esto:
¿Cuál es la diferencia además apache2
y httpd
. ¿Cómo puedo hacer que funcione sin modificaciones de código?
Hay 100% no hay diferencia entre apache2
y httpd
nombre-sabia entre Debian ( apache2
) y CentOS ( httpd
). Esos son simplemente nombres binarios del sistema y el equipo de desarrollo central de CentOS / RedHat / Fedora parece preferir el httpd
apodo más genérico para Apache en lugar del específico de la marca apache2
.
Sabiendo eso, estoy bastante seguro de que si se trata de un problema de código PHP, no tiene nada que ver 100% con Apache. Por el contrario, puede haber problemas con las versiones instaladas de PHP 5 que se ejecutan en cada máquina.
Por ejemplo, el código que funciona bien en PHP 5.1 no necesariamente funcionará bien en PHP 5.2, 5.3, 5.4, etc.… Cada lanzamiento de PHP de números menores y mayores es compatible con versiones anteriores de PHP, pero puede haber cambios muy leves. en la funcionalidad del código que haría que el código PHP 5.3 se ahogara en PHP 5.4.
De hecho, en mi experiencia personal, muchos de los sitios que administro se están quedando en PHP 5.3 en este momento hasta que se realicen las actualizaciones principales del código PHP para que el código "juegue bien" con PHP 5.4. Estos cambios implican simplemente ajustar algunas funciones principales para acomodar los cambios de interfaz / función principal entre PHP 5.3 y 5.4, pero eso es todo; no hay prisa por lidiar con esto todavía porque el sistema operativo central en el que se encuentran estos sistemas tiene instalado PHP 5.3 y funciona bien.
Recomiendo que compare los números de versión del complemento Apache de PHP verificando la salida de phpinfo()
ambos servidores y viendo qué versiones están instaladas y se utilizan en cada una. Para hacer esto, simplemente cree un archivo en la raíz web de cada servidor llamado phpinfo.php
así; Lo estoy usando nano
como editor de texto, pero siéntase libre de usar el editor de texto que prefiera:
nano /var/www/phpinfo.php
También tenga en cuenta que estoy usando /var/www/
como su ruta webroot; asegúrese de cambiar eso para que coincida con la raíz web de su sistema real.
Ahora solo coloque el siguiente código en ese phpinfo.php
archivo:
<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>
Ahora cárguelo a phpinfo.php
través de un navegador web a través de una URL como esta; cambie el nombre de host para que coincida con el nombre de host real de su sistema:
http://localhost/phpinfo.php
Justo en la parte superior de la página habrá una gran pancarta púrpura que te dice exactamente qué versión de PHP estás usando como esta, que muestra claramente que el sistema que estoy probando está usando la versión 5.4.10 de PHP:
Tenga en cuenta que si bien la mayoría de las versiones instaladas de PHP potencialmente tienen un intérprete de línea de comandos, ese intérprete de línea de comandos de PHP no tiene nada que ver con la versión del complemento Apache PHP. Por lo tanto, la salida de php -v
solo le dará información sobre el intérprete de línea de comandos PHP instalado; phpinfo()
es lo que siempre debe usar para confirmar / verificar la versión de su servidor web real en ejecución.