Yosemiteにアップグレードした後のApacheの問題


8

Yosemiteにアップグレードした後、Mac Webサーバーが機能しなくなります。apachectlターミナルに入力すると、次のようになります。

httpd: Syntax error on line 527 of /private/etc/apache2/httpd.conf: Syntax error on line 8 of /private/etc/apache2/other/+php-osx.conf: Cannot load /usr/local/php5/libphp5.so into server: dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found: _unixd_config\n  Referenced from: /usr/local/php5/libphp5.so\n  Expected in: /usr/sbin/httpd\n in /usr/local/php5/libphp5.so

sudo apachectl [re]start何も入力しないと、起動して再度入力したように、すでに実行されていると表示されます。また、ウェブ共有設定ペイン(http://clickontyler.com/web-sharing/)をインストールしていて、スイッチをオフからオンにフリックすると、スイッチがオンの位置にあるにもかかわらず、オフであると表示されます

みんなが見たい/見たいファイルは?本当にこれをできるだけ早く修正する必要があります。

回答:


6

Yosemiteインストーラーが/private/etc/apache2/httpd.confファイル全体を新しいデフォルトのApache 2.4構成ファイルで上書きすることにも注意してください。

たとえば、Listenディレクティブが追加された場合、それらは消えてしまい、再度追加する必要があります。例えば:

Listen 127.0.0.1:81

古い構成を次のファイルで見つけましたが、2.2との違いにより、http.confファイルに直接コピーしないでください。

/private/etc/apache2/httpd.conf~previous

アップグレードガイドがあります:http : //httpd.apache.org/docs/2.4/upgrading.html

以前に含まれていた追加の構成ファイルがまだ含まれていることを確認してから、次のコマンドで構成をテストします。

sudo apachectl configtest

それはどのようにして質問に答えますか?Apacheのアップグレード後にロードするphpモジュールを変更する必要はありません...
AlxVallejo

8

この問題は、ヨセミテが最新バージョンのApache(2.4)をインストールするのに対し、以前のバージョンのMac OS XがApacheバージョン2.2を使用したために発生します。

エラーから、Appleが提供する標準バージョンのPHPではなく、liip.chが提供する別のバージョンを使用していたようです。上記のNuttyxで提案されているように#記号を削除すると、Appleバージョンのphp(5.5.14)がロードされます。liipが提供するバージョンを引き続き実行したい場合は、Apache 2.4で正しくロードされるように再インストールする必要があります。詳細な説明はこちら:(http://blog.liip.ch/archive/2014/06/11/php-osx-available-for-os-x-10-10-yosemite.html

注意:仮想ホストを使用している場合は、おそらく構成ファイルを多少変更する必要があります。特に、以下を変更する必要があります。

2.2構成:

Order allow,deny
Allow from all

2.4構成:

Require all granted

4

ファイル内の次の行の先頭でを削除すること#でこれを修正できるよう/etc/apache2/httpd.confです:

LoadModule php5_module libexec/apache2/libphp5.so

1
これは私のためにそれをやった!
Matthieu Riegler、2014年

1

引数なしで「sudo apachectl」を実行すると、confファイルに問題が表示されます。私の場合、phpのアップグレードで修正されました。

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

その後、Apacheが再度実行されましたが、vhostsを再構成する必要がありました。


0

上記の質問には回答しましたが、次のような同じエラーが発生する可能性があります。

/private/etc/apache2/httpd.conf: Cannot load /usr/libexec/apache2/mod_XYZ.so into server: dlopen(/usr/libexec/apache2/mod_XYZ.so, 10): image not found

これは、上記の名前で参照されているシンボリックリンクを作成したが見つからない場合に発生する可能性があります。解決するには、実際のファイルの絶対パスを提供するシンボリックリンクを作成し、シンボリックリンクのファイル名も同じように作成します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.