¿Puedo usar PHP 5.5?

18

Con el congelamiento de funciones para PHP 5.5 hace mucho tiempo, pensé que era hora de publicar una actualización de la popular pregunta PHP 5.4 y Drupal 7 .

Entonces, ¿puede Drupal ejecutarse en PHP 5.5?

Letharion
fuente

Respuestas:

21

En resumen, si su sitio se ejecuta en PHP 5.3, también se ejecutará en 5.5, ¡vaya a actualizar! (Su entorno de desarrollo, hasta que salga una versión real)

Con la respuesta corta fuera del camino, aquí hay algunos detalles más.

Con respecto a "¿Drupal funciona en él?", Muy poco cambió de PHP 5.3 a 5.4 a 5.5. El único problema que apareció en PHP 5.4 fue que PHP era mejor para informar a los desarrolladores cuando estaban haciendo algo mal, en lugar de una incompatibilidad introducida por PHP. Los detalles de eso están bien cubiertos en PHP 5.4 y Drupal 7 .

Sin embargo, no aparecen nuevas advertencias similares con PHP 5.5, y aunque algunas cosas han cambiado , es muy poco probable que tengan un impacto negativo en su sitio Drupal.

Una preocupación de rendimiento que surgió al ejecutar 5.4 fue que APC se estaba quedando atrás en el soporte. Esta vez no será un problema, ya que 5.5 ahora incluye un reemplazo para APC Optimizer +

Drupal 6: por ahora, la mayoría de las cosas funcionan bien con PHP 5.3, lo que significa que también debería funcionar bien en 5.5. Todavía tengo que probar esto yo mismo.

Drupal 7: funciona sin problemas, no he encontrado ningún problema, en gran parte porque Drupal 7 se desarrolló más teniendo en cuenta PHP 5.3, y los problemas descubiertos en 5.4 se han solucionado hace mucho tiempo.

Drupal 8: Requiere 5.3 desde el principio, por lo que funcionará bien. Actualizaré la respuesta cuando lo haya probado yo mismo.

Letharion
fuente
1
Mi sitio personal se ha estado ejecutando en PHP 5.5 durante algún tiempo sin problemas (aunque, es cierto, es un sitio bastante simple). El problema más notable relacionado con el núcleo que conozco es que la instalación puede fallar si OPcache (el caché de código de operación incorporado a la APC) está habilitado , por lo que si desea usar OPcache, es posible que deba deshabilitarlo durante la instalación , luego vuelva a habilitarlo después.
Garrett Albright
@GarrettAlbright Estoy investigando la actualización de nuestro sitio D6 a PHP 5.5. Actualmente ninguno de los campos de fecha en los formularios de administración muestra los valores de fecha predeterminados. ¿Has visto alguno de estos problemas?
Patrick
Patrick, no puedo ayudarte con nada relacionado con Drupal 6, excepto para aconsejarte que actualices si es posible. Esa base de código se vuelve cada vez más antigua.
Garrett Albright
@Letharion: ¿Es hora de actualizar la respuesta después de probar D8 con PHP5.5?
Hugo
1
@Hugo Hmmm, definitivamente. He olvidado esta pregunta en particular, y aunque he tenido un sitio D8 en funcionamiento, no lo he tenido en cuenta. Como nota rápida, probé algunas versiones beta de mi máquina con 5.5, y todo funcionó bien. Sin embargo, gracias por el recordatorio, intentaré recordarlo la próxima vez que juegue con D8.
Letharion
3

Actualizaciones a la respuesta de letharion:

  • Drupal 8 ahora requiere PHP 5.4.2 (probablemente aún más alto para cuando lo lancemos), y 5.5 es compatible, aunque no es obligatorio
  • El soporte de Drupal 6 para 5.3 ya es bueno, aunque los problemas aún persisten, manejados como errores porque la migración de D8 desde D6 dependerá de que PHP 5.3 sea compatible con D6.
MGF
fuente
1

Al instalar una versión nueva de Drupal 7.26 en un entorno PHP 5.5, recibí la carga de la pantalla "Configurar base de datos" dos veces. En la segunda presentación del formulario, obtendría un WSOD . Cargar el sitio desde la ruta raíz dio un 404.

Rastreé este parche (comentario # 45) que resolvió el problema para mí. Como leerá allí, se debió a la forma en que funciona el nuevo sistema de almacenamiento en caché de PHP y al almacenamiento en caché de settings.php que almacena las credenciales de la base de datos.

alexkb
fuente
1

Agregar las siguientes líneas al archivo htaccess principal puede ayudar.

php_value date.timezone America/New_York
php_value error_reporting E_ALL
php_value display_errors 1
php_value display_startup_errors 1
php_value memory_limit 256M
ummdorian
fuente
Agregar php_value error_reporting E_ALLme superó el WSOD, el resto simplemente ayudó a depurar.
wolffer-east
0

Me encontré con un inconveniente al intentar instalar Drupal 7.26 en Ubuntu 13.10 (php 5.5).

Fatal error: Call to undefined function field_attach_load() in /var/www/d7/includes/entity.inc on line 316

Tuve que aplicar este parche: https://drupal.org/comment/7721819#comment-7721819 .

Base de datos existente eliminada para esta instalación.

Vuelva a crear la base de datos y luego se ejecutó install.php.

El problema para mí se solucionó con ese parche.

dustinsilva
fuente
No creo que esto necesariamente se relacione con la versión de PHP. field_attach_load()parecería ser una función de Drupal y se han publicado errores similares en 2009 , relacionados con Drupal 7.
MrWhite
0

Instalación nueva de drupal-7.26

Corrió PHP 5.5.9 -got error: "... entity.inc en la línea 316"

En el panel de control del servidor cambié mi carpeta Drupal para usar "PHP 5.4.25". Luego vuelva a presionar en el navegador, vuelva a ingresar los datos de instalación y listo -> en funcionamiento ...

Temas instalados, algunos módulos, páginas creadas; cambió de nuevo a PHP 5.5.9 -> sigue funcionando ...

usuario27735
fuente
0

Drupal 7: compruebe todos los problemas con la etiqueta php 5.4 o php 5.5 para asegurarse de que no está utilizando ninguno de los módulos que todavía tienen problemas con esas versiones: https://drupal.org/project/issues/search?text=&projects= & asignado = & sometido = & project_issue_followers = &&&& issue_tags_op =% 3D & issue_tags = PHP% 205.4% 2C% 20PHP% 205.5 .

Si su sitio tiene alguno de esos módulos instalados, creo que es mejor apegarse a php 5.3 para Drupal 7.

Drupal 6 Agregue también la etiqueta php 5.3 ya que algunos módulos menos utilizados o mantenidos aún tienen problemas con php 5.3.

Hans Rossel
fuente