AmazonJS で 商品検索すると FastCGI で simplexml_load_string() がエラーとなる場合の対処方法

事象

PHP Fatal error: Uncaught Error: Call to undefined function simplexml_load_string() が発生。/var/log/nginx/error.log には以下のような出力が確認できる。

2016/08/21 13:09:44 [error] 11796#11796: *1814 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function simplexml_load_string() in /mnt/neoflow.jp/blog/wp-content/plugins/amazonjs/amazonjs.php:854
Stack trace:
#0 /mnt/neoflow.jp/blog/wp-content/plugins/amazonjs/amazonjs.php(740): Amazonjs->amazon_get('JP', Array)
#1 /mnt/neoflow.jp/blog/wp-content/plugins/amazonjs/amazonjs.php(789): Amazonjs->itemsearch('JP', 'All', 'READING HACKS!', '1')
#2 /mnt/neoflow.jp/blog/wp-includes/plugin.php(524): Amazonjs->ajax_amazonjs_search('')
#3 /mnt/neoflow.jp/blog/wp-admin/admin-ajax.php(91): do_action('wp_ajax_amazonj...')
#4 {main}
  thrown in /mnt/neoflow.jp/blog/wp-content/plugins/amazonjs/amazonjs.php on line 854" while reading response header from upstream, client: 210.136.44.200, server: blog.neoflow.jp, request: "GET /wp-admin/admin-ajax.php?action=amazonjs_search&CountryCode=JP&SearchIndex=All&ItemPage=1&Keywords=READING+HACKS! HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "blog.neoflow.jp", referrer: "https://blog.neoflow.jp/wp-admin/media-upload.php?post_id=2493&type=amazonjs&tab=amazonjs_keyword"

原因

最近 Web サーバを Lubuntu 14.04 から 16.04 にアップグレードしたことが原因で PHP 5.x から PHP 7.0 系になっていて必要なパッケージがインストールされていないため。

対処

php7.0-xml

$ sudo apt-get install php7.0-xml
スポンサーリンク