Instalación desde las fuentes en sistemas Unix y macOS

Software requerido para la compilación:

  • » GNU make
  • Un compilador C (a partir de PHP 8.0.0, se requiere compatibilidad con C99; a partir de PHP 8.4.0, se requiere compatibilidad con C11)
  • Un servidor web
  • Cualquier componente específico de un módulo (como las bibliotecas GD, PDF, etc.)

Cuando la compilación se realiza directamente desde las fuentes de Git o después de modificaciones personalizadas, pueden ser necesarias estas herramientas adicionales:

  • » autoconf:
    • PHP 7.3 y más reciente: 2.68+
    • PHP 7.2: 2.64+
    • PHP 7.1 y más antiguo: 2.59+
  • » re2c:
    • PHP 8.3 y más reciente: 1.0.3+
    • PHP 8.2 y más antiguo: 0.13.4+
  • » bison:
    • PHP 7.4 y más reciente: 3.0.0+
    • PHP 7.3 y más antiguo: 2.4+ (incluido Bison 3.x)

La configuración y el proceso inicial de compilación de PHP están controlados por el uso de las opciones de línea de comandos del script configure. Una lista de las opciones disponibles con breves explicaciones puede mostrarse ejecutando ./configure --help. Este manual documenta las diferentes opciones por separado. Las opciones básicas están disponibles en el apéndice, mientras que las diferentes opciones específicas de las extensiones están descritas en las páginas de referencia.

Después de que el script de configuración se haya ejecutado, PHP puede ser compilado usando el comando make. El capítulo de preguntas frecuentes sobre la instalación contiene más información sobre cómo manejar los problemas de compilación.

Nota: Algunos sistemas Unix (como OpenBSD y SELinux) pueden prohibir el mapeo de páginas tanto en escritura como en ejecución por razones de seguridad, lo cual se llama » PaX MPROTECT o » protección contra las violaciones W^X. Este tipo de mapeo de memoria es necesario para el soporte JIT de PCRE, por lo tanto PHP debe ser compilado sin el soporte JIT de PCRE, o el binario debe ser incluido en la lista blanca por cualquier medio proporcionado por el sistema.

Nota: La compilación cruzada para ARM con la cadena de herramientas de Android no es actualmente soportada.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top