O Apache não pode carregar extensões PHP não assinadas no Mac OS Mojave

3

Após a atualização para o MacOS Mojave, o Apache não pode mais carregar extensões PHP. Qualquer extensão eu recebo o erro abaixo no log do Apache; parece que a Apple implementou a Validação da Biblioteca através do Apache no MacOS Mojave. Isso torna aparentemente impossível carregar binários não assinados com o Apache.

Existe alguma solução que não envolva a desativação do SIP do 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? 

O código deve ser pelo menos assinado ad-hoc.             //usr/local/php/extensions/xdebug.so: stat () falhou com errno = 22

    
por delphirules 01.10.2018 / 20:50

1 resposta

2

O tópico Instalando no Mojave lista várias soluções independentes:

  1. Desinstale o apache e o php do seu computador e limpe todas as sobras
  2. Instalar o apache e o php do homebrew (answer by suneet64)
  3. Adicione no final de /etc/apache2/httpd.conf a linha

    LoadModule php7_module libexec/apache2/libphp7.so
    
  4. Ainda na linha de comentários de /etc/apache2/httpd.conf 545 que diz

    Include /private/etc/apache2/other/*.conf
    
por 02.10.2018 / 20:02