web-dev-qa-db-fra.com

Apache ne peut pas charger PHP Extensions non signées sur Mac OS Mojave

Après la mise à niveau vers Macos Mojave, Apache ne peut pas charger PHP extensions plus. Avec n'importe quelle extension, je reçois l'erreur ci-dessous sur le journal Apache; il semble que Apple Validation de la bibliothèque mise en œuvre via Apache sur Macos Mojave. Cela rend apparemment impossible de charger des fichiers binaires non signés avec Apache.

Y a-t-il une solution de contournement qui n'impliquerait pas à désactiver la SIP de MacOS?

Failed loading //usr/local/php/extensions/xdebug.so:  dlopen(//usr/local/php/extensions/xdebug.so, 9): no suitable image found.  Did find:
        //usr/local/php/extensions/xdebug.so: code signature in =(//usr/local/php/extensions/xdebug.so) 
not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? 

Le code doit être signé au moins ad-hoc. //usr/Local/php/extensions/xdebug.so: STAT () a échoué avec errno = 22

3
delphirules

Le fil Installation sur Mojave répertorie plusieurs solutions de contournement indépendantes:

  1. Désinstallez Apache et PHP de votre ordinateur et nettoyez tous les restes
  2. Installez Apache et PHP de Homebrew (réponse par Sunet64)
  3. Ajouter à la fin de /etc/Apache2/httpd.conf la ligne

    LoadModule php7_module libexec/Apache2/libphp7.so
    
  4. Toujours dedans /etc/Apache2/httpd.conf note ligne 545 qui dit

    Include /private/etc/Apache2/other/*.conf
    
2
harrymc