Installation depuis les sources sur les systèmes Unix et macOS

Logiciels prérequis pour la compilation :

  • » GNU make
  • Un compilateur C (à partir de PHP 8.0.0, la compatibilité C99 est requise ; à partir de PHP 8.4.0, la compatibilité C11 est requise)
  • Un serveur web
  • Tout composant spécifique à un module (tels que les bibliothèques GD, PDF, etc.)

Lorsque la compilation est effectuée directement à partir des sources Git ou après des modifications personnalisées, ces outils supplémentaires peuvent être nécessaires :

  • » autoconf:
    • PHP 7.3 et plus récent : 2.68+
    • PHP 7.2: 2.64+
    • PHP 7.1 et plus ancien : 2.59+
  • » re2c:
    • PHP 8.3 et plus récent : 1.0.3+
    • PHP 8.2 et plus ancien : 0.13.4+
  • » bison:
    • PHP 7.4 et plus récent : 3.0.0+
    • PHP 7.3 et plus ancien : 2.4+ (y compris Bison 3.x)

La configuration et le processus de compilation initial de PHP sont contrôlés par l'utilisation des options de ligne de commande du script configure. Une liste des options disponibles avec de courtes explications peut être affichée en exécutant ./configure --help. Ce manuel documente les différentes options séparément. Les options de base sont disponibles dans l'annexe, tandis que les différentes options spécifiques aux extensions sont décrites sur les pages de référence.

Après que le script de configuration a été exécuté, PHP peut être construit en utilisant la commande make. Le chapitre Installation des questions fréquemment posées contient plus d'informations sur la gestion des problèmes de compilation.

Note: Certains systèmes Unix (comme OpenBSD et SELinux) peuvent interdire le mapping de pages à la fois en écriture et exécution pour des raisons de sécurité, ce qui est appelé » PaX MPROTECT ou » protection contre les violations W^X. Ce genre de mappage mémoire est nécessaire pour le support JIT de PCRE, donc soit PHP doit être construit sans le support JIT de PCRE, soit le binaire doit être mis sur liste blanche par tous les moyens fournis par le système.

Note: La compilation croisée pour ARM avec la chaîne d'outils Android n'est actuellement pas prise en charge.

add a note

User Contributed Notes

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