[CentOS] CentOS7.6上でphpMyAdminがFatal errorになってしまった

※当サイトでは広告を掲載しています

2019年3月14日 解決

ある日突然、ブラウザからphpMyAdminにアクセスしても、画面が真っ白で何も表示されなくなってしまいました。

その間、いくつかアップデートは適用していて、その中で気になるのが、PHP7.3.2からPHP7.3.3にアップデートされていること。

それ以外は、特に影響のあるアップデートはないように見えるのですが…。

エラー内容

エラーログを確認すると、こんなエラーが出ていました。

PHP Fatal error: Declaration of Twig_Extensions_TokenParser_Trans::parse(Twig_Token $token) must be compatible with Twig\\TokenParser\\TokenParserInterface::parse(Twig\\Token $token) in /usr/share/php/Twig/Extensions/TokenParser/Trans.php on line 86

Twig_Extensions_TokenParser_Trans が Twig\\TokenParser\\TokenParserInterface を継承しているが、parse()の宣言に互換性がない、と怒られている訳ですね。

さて、TokenParserだとかTwigだとか、自分にはまったく身に覚えのないキーワードが出てきていますが、これらはどうやらphpMyAdminが使用しているようです。

twigに関連しそうなパッケージを調べてみると、

# rpm -qa | grep twig
php-twig-1.38.0-1.el7.remi.7.3.noarch
php-twig-extensions-1.5.4-1.el7.remi.noarch

という2つのパッケージが出てきて、これを削除しようとすると、phpMyAdminも依存性関連で削除されるからです。

パッケージをすべて入れ直してみる

依存性関係も含め、今回以下のパッケージをいったん削除し、インストールしなおしてみました。

phpMyAdmin-4.8.5-1.el7.remi.noarch
php-phpmyadmin-motranslator-4.0-1.el7.remi.noarch
php-phpmyadmin-shapefile-2.1-1.el7.remi.noarch
php-phpmyadmin-sql-parser-4.3.1-1.el7.remi.noarch
php-twig-1.38.0-1.el7.remi.7.3.noarch
php-twig-extensions-1.5.4-1.el7.remi.noarch

でも状況は変わらず。PHPもいったん削除してインストールし直してみたけど、変化なし。

調べても今のところ情報なし

同じような状況が出ている人がいないのか、Google先生に聞いてみても解決方法は無し。現在未解決のトラブルです。

もし解決できたら、追って解決方法を追記していきたいと思います。

それまでは、MySQLの操作はコマンドラインからがんばるかぁぁ~。

もし、解決法をご存知の方がおりましたら、ぜひ教えていただければと思います。

解決しました

この記事を書いた翌日、php-twigパッケージに更新版が来ていて、バージョン1.38.2-1に更新することで問題が解決しました!

念のためyumのログを調べてみたら、数日前にphp-twigが1.37.1-1から1.38.0-1にアップデートされていたので、バージョン1.38.0-1にバグがあったようです。

昨日エラーになっていたファイルを見てみると、「Twig\\TokenParser\\TokenParserInterface」が「Twig\TokenParser\TokenParserInterface」というように、「\」マークの部分が修正されていました。「\」マークが二重になっていた(エスケープされていた)のが原因っぽい。

何はともあれ、直ったのでほっと一安心。

初稿:2019年3月13日

コメント

タイトルとURLをコピーしました