2015-12-31 11 views
6

私はOSXエルキャピタン10.11.2の新規インストールを持っているし、次のエラーにlibphp7.soは、バージョン12.0.0以降

コマンド

sudo apachectl -e info -k restart 

エラー

を取得homebrew.Now使用してPHP7をインストールする必要があり
httpd: Syntax error on line 171 of /private/etc/apache2/httpd.conf: 
Cannot load /usr/local/opt/php70/libexec/apache2/libphp7.so into server: dlopen(/usr/local/opt/php70/libexec/apache2/libphp7.so, 10): 
Library not loaded: /usr/local/opt/libxml2/lib/libxml2.2.dylib 
    Referenced from: /usr/local/opt/php70/libexec/apache2/libphp7.so 
    Reason: Incompatible library version: libphp7.so requires version 12.0.0 or later, but libxml2.2.dylib provides version 10.0.0 

Googleで検索しましたが、具体的な解決策はありませんでした。

+1

ないわからに変更することができます〜/ .bash_profileの

export LIBRARY_PATH=/usr/local/Cellar/libxml2/2.9.4/lib/:$LIBRARY_PATH 

にバージョンを次の行を追加します。 osxですが、 'apt-get install libxml2-dev' – hjpotter92

+0

この質問に答える必要があります... – Jay

+1

' brew install libxml2 libxslt libiconv'を実行してください。それはシステムのバージョンを見ている。 – miken32

答えて

-3

お願いします! MAC OS Xを再インストールするのが最良の方法です

申し訳ありませんが、私は方法を見つけました。 kindaハッキーですが動作します。

PHP 7を実行しようとすると、が/usr/libになります。現在のバージョンを確認するには、otool -L /usr/lib/libxml2.2.dylibを実行してください。

ことは、このようなおそらく出力なものは以下となります。

/usr/lib/libxml2.2.dylib (compatibility version 10.0.0, current version 10.9.0) 

しかし、ApacheとPHPのバージョン12.0.0をしたい、それではhomebrewを通してそれをインストールしてみましょう。

brew install libxml2 libxslt libiconv 

これは/usr/local/Cellar/libxml2/2.9.4/libのようなものにlibxmlをインストールします。このディレクトリにはlibxml2.2.dylibというファイルが含まれます。

あなたがotool -L /usr/local/Cellar/libxml2/2.9.4/lib/libxml2.2.dylibを実行した場合、それが出力されます:

/usr/local/opt/libxml2/lib/libxml2.2.dylib (compatibility version 12.0.0, current version 12.4.0) 

ので、これはPHPとApacheが探しているバージョンです。このファイルを/usr/libに移動します。しかし、それほど速くはないので、すでにそのフォルダにlibxml2.2.dylibという名前のファイルがあるので、もう一度必要な場合に備えて.bakという拡張子を追加するだけです。

sudo mv /usr/lib/libxml2.2.dylib /usr/lib/libxml2.2.dylib.bak 

ここでは、自作したファイルをこのディレクトリに移動できます。

sudo cp /usr/local/Cellar/libxml2/2.9.4/lib/libxml2.2.dylib /usr/lib 

これだけです!これで、エラーなしで sudo apachectl -e info -k restart を実行でき、 PHP 7が正しく動作するはずです。

+0

私はこれをお勧めしません。システムの名前の変更libxml2は、システムインテグリティ保護を無効にしない限り動作しません。いずれにしても、OSと一緒に配布された一部のアプリケーションが壊れる可能性があります。 – duskwuff

+0

これはあなたのマシンを破壊し、修復のためにシングルサインオンサインオンを使用する必要があります。注意してください! dylibファイルを移動すると、PAMの制限に違反し、rootとして再起動して修正するまで、sudoと基本的にすべての機能が終了します。 – Steve

1

は醸造でのlibxml2をインストールし、

brew install libxml2 

は "2.9.4" は、現在の

関連する問題