Amazon MWS APIをPHP7環境へ移植したら動かなくなった話

  • このエントリーをはてなブックマークに追加
  • LINEで送る

発端

ご依頼の案件で既存システムをさくらVPSへ移植することがありました。

元のサーバーはPHP5.5でAmazon MWS APIを利用していたのですが、さくらVPSへ移動してからはなぜか動作しない…

確認したこと

地道にログを取りつつ進めると、あるファイルを開くと落ちることがわかってきました。

このコードのrequire_onceを実行した段階で落ちるんです。
旧サーバーで動いていたのに開いただけで落ちるなんてあるのかな?

ここにたどり着くまでに3日ほど要してしまった…

PHP出力を確認

もともとバックグラウンドで動かしていたこともあり、標準出力と標準エラーは取り出していませんでした。

こちらを

こっちに修正して出力を取るように変更。
さて、再実行してどうなるやら。

内部で起きている事

得られた出力ファイルには

Redefinition って再定義ってことですよね…なんのことでしょうか?

はてさて、ググってみると…ありました。
https://stackoverflow.com/questions/38003895/redefinition-of-parameter-quotamax-error-when-using-mws-to-get-product-informat
さすが先人の知恵は偉大です。

元のファイルはこうなっていますが、

こちらに修正する必要があります。

パッと見てわからないですよね。
32行目の引数が修正前だと同じ名称が続いているんです。

そりゃ、再定義してるよ!って怒られますよねorz

まとめ

修正後は元気!?にシステムが稼働し始めました。

PHP5系では曖昧だった個所もPHP7では厳密になり、動かなくなることがあります。

そんな時は落ち着いてログを確認&対処すれば、解決できます!

  • このエントリーをはてなブックマークに追加
  • LINEで送る

中小企業 業務サポート

インターネットの無料相談はお手軽だけど本音ではなかなか相談できまんよね。E.P.ラボの業務サポートは

  1. 包み隠さずご相談いただけるパートナー関係を構築※
  2. 急なシステムトラブルにも対応※
  3. よくわからないことはE.P.ラボに任せて本業に集中

というポリシーの元にサービスを展開しております。まずは下記ボタンからお困りごとをご相談ください。

※1 NDA(秘密保持契約)を推奨しております
※2 既定の営業日、営業時間に限ります
※3 業務支援を含むサポートは¥50,000/月となります
※4 相談のみのサポートは¥30,000/月となります

お問合せページ

SNSでもご購読できます。

スポンサー リンク

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください