私は最近、Apache2がphp7.1で動作するようにトラブルを抱えていました。私はSudo a2enmod php7.1
を使用してphpモジュールを有効にし、それが機能しました。
私は次の方法でサーバーを更新しました:
Sudo apt-get update
その後
Sudo apt-get upgrade
サーバーを更新した後、サーバーを再起動しました。
my wordpressサイトは機能しなくなり、.phpページがプレーンテキストとして再び表示されていました。
それは以前と同じ問題であると思ったので、上記と同じコマンド(Sudo a2enmod php7.1
)を使用して、php7.1モジュールを手動で再度有効にしようとしました。そのコマンドを実行した後、次のコマンドでApache2を再起動しようとしました。
Sudo service Apache2 restart
このエラーを提供するだけです:
Job for Apache2.service failed because the control process exited with error code.
See "systemctl status Apache2.service" and "journalctl -xe" for details.
もちろん、systemctl status Apache2.service
を実行して、問題の内容を確認します。
これは私が提供されたものです:
● Apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/Apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/Apache2.service.d
└─Apache2-systemd.conf
Active: failed (Result: exit-code) since Mon 2018-06-25 23:54:16 CDT; 7min ago
Process: 1163 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
Jun 25 23:54:16 UndergroundSpecInc systemd[1]: Starting The Apache HTTP Server...
Jun 25 23:54:16 UndergroundSpecInc apachectl[1163]: Apache2: Syntax error on line 146 of /etc/Apache2/Apache2.conf: Syntax e
Jun 25 23:54:16 UndergroundSpecInc apachectl[1163]: Action 'start' failed.
Jun 25 23:54:16 UndergroundSpecInc apachectl[1163]: The Apache error log may have more information.
Jun 25 23:54:16 UndergroundSpecInc systemd[1]: Apache2.service: Control process exited, code=exited status=1
Jun 25 23:54:16 UndergroundSpecInc systemd[1]: Apache2.service: Failed with result 'exit-code'.
Jun 25 23:54:16 UndergroundSpecInc systemd[1]: Failed to start The Apache HTTP Server.
トレイルをたどるために、私は/etc/Apache2/Apache2.conf
の146行目を調べてこれを見つけます。
IncludeOptional mods-enabled/*.load
この時点では、その行に何も問題がないため、行き詰まっています。
自分の質問に答えたようです!
これを修正するには、まず、phpに関連してインストールされているすべてのものを完全に削除することから始めなければなりませんでした。 (これは、Ubuntuのこのインストールでphpを数回更新したため、以前のバージョンとの競合があったためです。)
Sudo apt-get purge php*
次に、Ubuntuの最新バージョン(18.04)では、apt-getコマンドで「php」を使用するだけで自動的にphp7.2がインストールされることを説明するこの記事を見つけました。だから私は単に使用して再インストールしました:
Sudo apt-get update
Sudo apt-get upgrade
その後、パッケージのphp *のパージを調整し終えたら、次のコマンドでphpを再インストールしました。
Sudo apt-get install php
それが完了したら、次のコマンドを実行してインストールバージョンを確認しました。
php -v
これにより、php 7.2を実行しているという出力が得られました。すごい!
パージ後にモジュールが削除されたため、php7.2のモジュールを再インストールする必要がありました。それは次のように行われました:
apt-get install php-pear php-fpm php-dev php-Zip php-curl php-xmlrpc php-Gd php-mysql php-mbstring php-xml libapache2-mod-php
これが完了したら、次のコマンドを実行してApache2のphpモジュールを再度有効にしました。
Sudo an2enmod php7.2
成功しました!したがって、すべてが正常に実行されていることを確認する最後の手順で、Apache 2を次のように再起動しました。
Sudo service Apache2 restart
それは成功した再始動でした!私は自分のブラウザーに向かい、そのサーバーで実行されているphpサイトにナビゲートし、完全に読み込まれました!
私はクレジットを手伝いたいと思います このサイト トンを助けてくれた!