目次
初めに
エラー① 「 “DOMDocument” not found 」
DOMとは
php-xmlのインストール
エラー② 「 undefined function mb_convert_encoding() 」
mbstringとは
php-mbstringのインストール
最後に
初めに
先日Wordpressで利用中のテーマ「Cocoon」の設定画面にてエラーが表示されました。
解消方法を探す際に普段あまり触る機会の無かったLinuxの操作を行いました。
その中で知った内容と、修正で行ったの操作手順を記載しようと思います。
初歩的な内容となっておりますが、少しでも同じエラーが出た方の助けになれば幸いです。
エラー① 「 “DOMDocument” not found 」
エラーに気づいたのは、Cocoon設定画面を開いたときプレビュー・設定の画面が表示されない事からでした。
他のページや、設定画面自体は表示されるものの、各タブをクリックした際の反応が無かったため原因を探し始めました。
すると、「Fatal error: “DOMDocument” not found 」とのエラーメッセージが出ている事を発見。
DOMDocumentが見つからないと言っているようなので、まずはDOMの事を調べました。
DOMとは
DOMとは「Document Object Model」の略で、「ドム」と呼ばれています。
HTMLやXMLを自由に操作するための仕組みで、WEBページとプログラミング言語を繋ぐ仲介役のような役割をするそうです。
どうやら今回の原因は、この仲介役がいないためにプログラムにアクセスできているが、実行できずにいる事のようです。
php-xmlのインストール
このエラーは「php-xml」をインストールする事で解消すると知り、さっそく作業を始めました。
まずは現在インストール済みのファイルを確認。
# yum install |grep php
php-xmlが無いことが確認出来たら、次にインストールコマンドを実行します。
※すでにphp-xmlがある場合は、バージョンによるエラーかもしれません
# yum install php-xml
インストールが完了すると、php-xml.x86_64が追加されます。
確認ができたらサーバを再起動します。再起動は下記コマンドで実行します。
# reboot
再起動も終わって、解消されているかと思いきや…まだ設定画面が表示されません。
何故か分からず次なる原因を探していると、なんと2つ目のエラーが発生していました。
エラー②
「 undefined function mb_convert_encoding() 」
先ほどとはエラー情報が変わり「Fatal error: Call to undefined function mb_convert_encoding() 」と表示されていました。
こちらのエラーはphp環境に「mbstring」というモジュールが無いことが原因という事が分かりました。
mbstringとは
mbstringとはマルチバイト文字列を使用するための拡張モジュールです。
マルチバイト文字とは、1バイトでは表現できない文字の事で、ひらがなや漢字などがそれにあたります。
mbstringの設定を行うことで、PHP内で日本語文字を扱えるようにすることが目的です。
php-mbstringのインストール
「php-mbstring」をインストールするために、下記コマンドを実行します。
# yum install php-mbstring
インストールが完了すると、「php-mbstring.x86_64」が追加されます。
無事インストールされたことを確認できたので、サーバーを再起動します。
エラーが解消したか確認しに行くと、設定画面が表示されておりました。
最後に
今回エラーが発生したことで、Linuxの操作やDOMといった基礎となる部分を知るきっかけになりました。
本記事が少しでもお役に立てれば幸いです。