2017-09-26 16 views
5

私のmacをosの最新バージョンにアップデートしました。 PHPプロジェクトを実行しようとすると、ブラウザはPHPプロジェクトを解釈するのではなく、PHPコードを表示します。私は、新しいOS phpがバージョン7.1にあることに気付きました。MacOSをHigh Sierraにアップデートした後にPHPが動作しない

のLoadModule php5_module /usr/local/Cellar/php56/5.6.31_7/libexec/apache2/libphp5.so

:私はにhttpd.confの自作や変更モジュールを使用して(それは私のために必須です)5.6をインストール

はここでapacheのエラーログです:

[火9月26日23:59:38.600410 2017] [mpm_prefork:予告] [PID 980] AH00169:キャッチSIGTERM、シャットダウン[火9月26日23: 59:38.622998 2017] [core:notice] [pid 980] AH00 060:ワンセグ障害または親プロセスAH00557で検出された同様の厄介な エラー:HTTPD: apr_sockaddr_info_get()のMacBook-PRO-Kamil.local AH00558に失敗しました: のhttpd:確実に127.0を使用して、サーバーの完全修飾 ドメイン名を特定できませんでした.0.1。 'ServerName'指示文をグローバルに設定する [Tue Sep 26 23:59:48.838005 2017] [mpm_prefork:notice] [pid 991] AH00163:Apache/2.4.27(Unix) PHP/5.6.31が設定されています - 通常の操作を再開[火9月26日 23:59:48.838097 2017] [コア:予告] [PID 991] AH00094:コマンドライン: 'は/ usr/sbinに/ httpdの-D FOREGROUND'

答えて

-2

ますPHP 5.6.31をサポートするXamppのバージョンをダウンロードして、Xamppで実行することができます。

私はあなたがMacOSのSierraに戻る必要があると思うなら、PHP 5.6は古いことを覚えておいてください。新しいシステムには最新バージョンが付属しています!

+0

でphp7_moduleを交換してくださいどちらもPHP5と並んでPHP5を実行していません。これは、これらのことのいずれも可能でないこと、またはあなたの答えの範囲外であることを知っているからですか? – dubloons

+0

新しいMacOSがPHP 7をコアに使用しているため、PHPをダウングレードすると惨事になる可能性があります。 – Kurogani

+0

OPが述べているように、BrewはPHPバージョンを処理するためにBrewを使用しています。 – Erebus

-1

私は自家製のオプションも見ましたが、最終的にはバゲントを使用することに決めました。プロジェクトファイルをそのまま残しておき、迷惑メールを使ってローカルに配信することができます。私はlaravel/homeesteadボックスを使用してhttps://laravel.com/docs/5.5/homesteadとHomestead.yamlのガイドに従いました - laravelとwordpressなどに同じボックスを使うことができます。これは次のosxアップグレードの将来の証明でもあり、簡単にPHPバージョンを選ぶことができますサイトごとサイト

folders: 
    - map: ~/Documents/www/mysite/ 
     to: /home/vagrant/mysite 
     type: "nfs" 
sites: 
    - map: mysite.app 
     to: /home/vagrant/mysite/dist 
     php: "5.6" 

および/ etc/hostsに追加/

192.168.10.10 mysite.app 
0

にそれはあなたの問題のように見えないでPHPを使用することですが、あなたのマシンのドメイン名です。 "127.0.0.1を使用してサーバーの完全修飾ドメイン名を確実に確定できませんでしたこのメッセージを表示しないように 'ServerName'ディレクティブをグローバルに設定してください" httpd.confファイルのドメイン設定を確認してください。あなたの/ etc/hostsファイルもそこに矛盾がないかチェックしてください。

This guide for installing and using Apache/MySQL/PHP via Homebrew has been immensely useful.これはmacOS Sierraに適用されますが、High Sierraでも同様に動作します。また、複数のPHPバージョンをインストールする方法と、それらの間で前後に切り替える便利な方法を紹介します(単一のPHPバージョンを稼動させておくだけです)。

私はVagrantやMAMPとは対照的に、自作のインストールに近いため、リソースを少なくしているので、Homebrewルートを使いたいです。希望が助けてくれる!うまくいけば、このことができます

AddType x-httpd-php .php 
AddHandler application/x-httpd-php .php .php5 

:私のhttpd.confファイルに次の行を追加する

+0

ServerNameメッセージは警告に過ぎません。他のすべてが正しく設定されていれば、問題はありません(私はこの警告を出してから、ローカルenvを実行してから最終的に修正しています)。 – Erebus

4

は、問題を修正しました!

編集:ただ、もう少し詳細を提供するために、crmpiccoが示唆するように、私もそうのような私の古いシエラのものを使用して新しいハイシエラのhttpd.confとのhttpd-vhosts.confファイル置き換えました:

mv httpd-vhosts.conf~previous httpd-vhosts.conf 
mv httpd.conf~previous httpd.conf 

これをすべて実行してからApacheを再起動しても、まだ動作していませんでした。すべてを有効にするために再起動する必要がありました。

1

MacOSのアップグレードプロセスは、あなたのApache設定を~previousファイルに移動しているようですが、新しく新鮮なバージョンを作成しています。あなたはそれらを元に戻す必要があります。これは私のために働いた:

mv httpd-ssl.conf~previous httpd-ssl.conf 
mv httpd-vhosts.conf~previous httpd-vhosts.conf 
mv httpd.conf~previous httpd.conf 

構文をチェックしてください。

apachectl -S 

Apacheを再起動します。 MAMPとPHP 5.6を使用して、ここで

apachectl restart 
+0

私はこれを試しましたが、私の答えの中の行がなければ、それはまだ動作しませんでした。あなたの古い設定ファイルにこれらの行があったのでしょうか?また、新しいものが追加された場合に備えて、私は通常、新しい設定ファイルから始めて、必要なものを追加するのが好きです。 – Erebus

0

同じこと:直後(おそらくあまりにも多くの雑草とシエラ..です)ハイシエラのApache2に更新していますが動作を停止しました。私は最終的に、このコマンドを使用して解決時間後

cp /Applications/MAMP/bin/php/php5.6.25/conf/php.ini.temp /Applications/MAMP/bin/php/php5.6.25/conf/php.ini

そして、php.iniに私のカスタム変更を再適用。 (私の場合、memory_limitとshort_open_tag)

再起動されたMAMPは、最初の試行で動作しました。 HighSierraでPHP5.6を使用して

1

  1. (必要に応じて再インストール/アップグレード/どちらかのインストール)は、HTTPオプションを有効にしてPHP56の最新バージョンが一緒にインストールされていることを確認してください共有Apacheのハンドラモジュール の建物を有効にします

    $醸造は、Apache2の設定ファイルで をモジュールのリンクphp56 --with-httpdの

  2. をアップグレードなど/ AP/apache2の設定ファイルに次のステートメントを追加します。 ache2/httpd.confの

    のLoadModule php5_module /usr/local/Cellar/php56/5.6.32_8/libexec/apache2/libphp5.so

  3. は、PHP5の設定ファイルに

    の追加からコピーを作成しますphp7.conf

    $ cd/etc/apache2/other; sudo cp php7.conf php5。confに

    PHPをダウングレードすることはできませんかのようにあなたがこれを言うphp5_module

  4. Apacheを再起動サーバー

    $ sudoのは/ usr/sbinに/のapachectl再起動

関連する問題