web-dev-qa-db-ja.com

ApacheがMac OS MojaveでPHP unsigned extensionsをロードできません

MacOS Mojaveにアップグレードした後、ApacheはPHP拡張機能をロードできません。拡張機能を使用すると、Apacheログに以下のエラーが表示されます。Apple MacOS MojaveのApacheを介してライブラリ検証を実装したため、署名のないバイナリをApacheでロードすることは明らかに不可能になっています。

MacOSのSIPを無効にするための回避策はありますか?

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? 

コードには少なくともアドホック署名が必要です。 //usr/local/php/extensions/xdebug.so:stat()がerrno = 22で失敗しました

3
delphirules

スレッド Mojaveへのインストール には、いくつかの独立した回避策がリストされています。

  1. お使いのコンピューターからApacheとphpをアンインストールし、残りすべてをクリーンアップします
  2. HomebrewからApacheとphpをインストールします(suneet64による回答)。
  3. /etc/Apache2/httpd.confの最後に行を追加します

    LoadModule php7_module libexec/Apache2/libphp7.so
    
  4. まだ/etc/Apache2/httpd.confにあり、545行目のコメントを外します

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