LoginSignup
0
0

More than 1 year has passed since last update.

【PHP】ls -l php*で7.2だけで7.4が出てこない場合 (&Your PHP installation appears to be missing...エラー)

Posted at

概要

  • WordPressがPHP7.4以上を推奨とのことで、PHP7.4をインストールしたのに、ls -l php*で確認しても、ApacheがロードするPHPバージョンが7.2だけで、7.4が出てきませんでした。今回そのエラー対応をしたので、解決手順を残します。
  • また、上記解決後にWordpressでYour PHP installation appears to be missing the MySQL extension which is required by WordPress. というエラーが表示されたのでその対処法も記します。

解決手順

  • まず、パッケージマネージャーを最新に更新します。
$ sudo apt-get update
  • PHP 7.4をインストールするために必要なパッケージをインストールします。
$ sudo apt-get install php7.4

、Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package php7.4
E: Couldn't find any package by glob 'php7.4'
E: Couldn't find any package by regex 'php7.4
  • あれ、なんかエラーメッセージが返ってきました。E: Unable to locate package php7.4ととあるので、パッケージリポジトリにPHP 7.4が含まれていないらしい。手動でリポジトリを追加してみます。
  • apt-transport-httpsパッケージをインストールします。
$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  • Ondrej PHPリポジトリを追加します。
    • Ondrej PHPリポジトリとは:DebianおよびUbuntu LinuxディストリビューションのためのPHPの公式リポジトリの1つ。DebianやUbuntuなどには、標準でPHPのパッケージが含まれていますが、最新バージョンを簡単にインストールできること・セキュリティアップデートに迅速に対応していること・複数のPHPバージョンを提供していることなどの理由から、Ondřej PHP リポジトリを利用することが推奨されます。また、Linuxディストリビューションに含まれるPHPのバージョンだと古い場合があるらしい。
    • PPAとは:Ubuntuやその他のDebian系Linuxディストリビューションで利用される、個人用パッケージアーカイブ(Personal Package Archive)の略称。ppa:ユーザー名/リポジトリ名という形式でアクセスします。
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
  • 改めて、PHP 7.4をインストールします。
$ sudo apt-get install php7.4
  • 今回はうまくいったようです。以下でApacheが見ているPHPバージョンを確認します。
    • 以下でディレクトリで、Apacheサーバーで現在有効になっているモジュールのリスト(以下であればphp)を確認することができます。
    • Apacheが起動するとき、mods-enabledディレクトリ内のシンボリックリンクが読み込まれ、有効になったモジュールが自動的にロードされます。これにより、Apacheサーバーが必要に応じて拡張され、特定の機能を実行できるようになります。
$ cd /etc/apache2/mods-enabled/
$ ls -l php*
  • しかし、上記実行してもまだ7.2になっています。PHP 7.2が既にインストールされており、ディストリビューションがデフォルトで使用するバージョンを変更しないためか、現在のバージョンが7.2のままっぽい。
  • Apacheに対してPHP7.2を無効にし、7.4を有効にします。
$ sudo a2dismod php7.2
$ sudo a2enmod php7.4
$ sudo systemctl restart apache2
  • ls -l php*コマンドを実行して、PHP 7.4が表示されるかどうかを確認します。今回は7.4を確認できました。
  • よし、これでOK!と思い、Wordpress管理画面を開いたら、以下のメッセージが出てきました。
Your PHP installation appears to be missing the MySQL extension which is required by WordPress. 
$ sudo apt-get install php7.4-mysql
$ sudo systemctl restart apache2
  • 無事に表示されました!!やったぁー!!
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0