本記事はKUSANAGIで動かないプラグインを検証するものです。
具体的には下記記事の続き。
AmazonJSについて再検証しましたので報告します。
恐らくこれで確定と思います。
また追加で動かないプラグインを確認しましたのであわせてお知らせします。
アイキャッチ画像はKUSANAGIのイメージキャラクター草薙沙耶 ©PRIME STRATEGY
AmazonJSの再検証
きっかけ
WordPress系のサイトをあちこち回っていると、やっぱり「HHVMは速い」という記事が多い。
PHP7も追いついてはきているけど、HHVM>PHP7。
うーん、私の環境ではPHP7の方が体感でもわかるくらい速いのだが。
きっとHHVMが悪いんじゃなくて私が悪いんだ!
そう思って再び導入に再チャレンジしました。
すると、モバイルだけが白画面に。
恐らくキャッシュ絡みだろうとfcache(fastCGI)をクリアする。
案の定、直りました。
AmazonJSが動かない!
しかし……
AmazonJSを起動したら真っ白だよ!
あれ? fcacheをクリア→やっぱりダメ。
一旦PHP7に切り替え、当然動きます。
再びHHVM、念のためfcacheをクリアしてAmazonJSを起動。
ちょっと起動に時間が掛かるがやっぱり動いた。
商品リストも出た……あれ?
「デフォルト」(=動的)が選択できない!
画像(html)は選択できるのですが。
以前確認した時はhtml・動的両方ともいけました。
どういうこと?
確かに前回も最初はおかしかった。
もちろんキャッシュも疑ったから何回かクリア掛けて検証したのですが……。
検証その1 AmazonJSはHHVMで動くか否か
わからないのは気持ち悪い、ということで再検証しました。
もう、1からサーバー立てて。
条件
ConoHaでVPS追加し、WordPressをインストール。
WP Multibyte Patch以外のプラグインはインストールせず。
記事などもなし。
テーマはWordPressデフォルト。
つまり真っ新な状態にAmazonJSのみを入れた状態です。
結果
AmazonJSの、
画像表示(HTML) → OK
レイアウト表示(動的) → ×
つまり、
画像機能は使えますけど、レイアウト表示は使えません
これがAmazonJSのHHVMにおける最終的解答といってよさそうです。
一言で言えば「半端に動く」ということですね……。
前回の記事では「動きます」と断定したタイトルつけて申し訳ございませんでした。
検証その2 AmazonJSの「動く」現象と「真っ白」になる現象は再現できるか
今度は「動く」現象と「プラグイン起動画面が真っ白になる(検索バーすら表示されない)」のを再現できないか試しました。
方法
怪しいのはFastCGIと当たりはついています。ゆえに、
PHP7とHHVMを切り替えながら、キャッシュクリアのタイミングを変えてみる。
これでやってみました。
結果
動く結果は、次の場合で確認できました。
PHP7起動→HHVMに変更→fcacheクリアするまで動く
PHP7を起動した状態でfcacheをクリアしてもダメ。
変更してからクリアで初期化されるようです。
だったらHHVM→PHP7の場合はfcacheクリアするまで「動かない」ということになりそうなものですが……こちらは動きます。
どうしてこうなるか、具体的な理由は私にはわかりません。
なお画面真っ白は再現できませんでした。
個人的には変に残ってしまったキャッシュが干渉しているのではないかと推測します。
まとめ
「AmazonJSはHHVM環境下で画像機能だけは使える」が最終的な答えです
もっともKUSANAGI9でHHVMは使えなくなりました。
もはや意味のない検証ということで……