- ステータス
- 解決済み
問題の概要
Ubuntu Serverバージョン15.10以前、およびCentOSを搭載したサーバーでのWPMLのインストール中に、Call to undefined function simplexml_load_file(...のような致命的なエラーが発生します。
他のサーバーオペレーティングシステムを使用している際に同じエラーが発生した場合でも、同じ原因である可能性があることにご注意ください。
これは次のシナリオで発生します:
- Ubuntu 15.10(またはそれ以前)、あるいはCentOSをインストールまたは更新します。
apt-get upgradeコマンドを実行します。- WPMLでウェブサイトを作成します。
回避策
この問題には2つの回避策があります。
- Synapticパッケージマネージャーを使用して、SimpleXmlを含むパッケージphp7.0-xmlをインストールします。
- ppa: ondrej/php PPAを含むUbuntuを使用している場合は、ターミナルから次のコマンドを実行します。
sudo add-apt-repository -y ppa:ondrej/php && sudo apt update && apt install -y php7.0-mbstring php7.0-zip php7.0-xml
さらに新しいバージョンのPHPを使用している場合は、7.0のすべての箇所をインストールされているPHPのバージョンに置き換えてください(例:
sudo add-apt-repository -y ppa:ondrej/php && sudo apt update && apt install -y php7.1-mbstring php7.1-zip php7.1-xml)。
Apacheを再起動すると、問題は解決するはずです。
ソース:Stackoverflow: PHP 7 simpleXML
一部のバージョンのUbuntu(Ubuntu 15.10など)では、simplexml拡張モジュールがインストールされていないことが確認されています。
拡張モジュールの欠落はリポジトリ管理者の見落としである可能性があり、拡張モジュールを手動でインストールすることで修正できます。
また、この問題はすべてのバージョンのUbuntuで発生するわけではなく、一部のバージョンには拡張モジュールへの参照が含まれているようです。