バージョン選択

フォーラム

メニュー

オンライン状況

42 人のユーザが現在オンラインです。 (36 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 42
もっと...

サイト内検索

質問 > 管理機能 > PHP7.3にした後、商品購入をすると、購入完了画面でunserializeエラーになる

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
akiakihi
投稿日時: 2019/6/27 0:56
対応状況: −−−
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 91
PHP7.3にした後、商品購入をすると、購入完了画面でunserializeエラーになる
[EC-CUBE] 3.0.17
[レンタルサーバ]さくらインターネット
[OS] Windows10
[PHP] PHP Version 7.3
[データベース] MySQL 5.7
[ブラウザ] Chrome

さくらインターネットより、
「ご利用のさくらのレンタルサーバにおきまして、2019年7月3日(水)にPHPのバージョンを7.2から「7.3」へ自動的に変更させていただきます。」
との案内が来たので、
ローカルでEC-CUBE3のPHP7.3 での動作確認後(vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php
の2640行目だけ、continueをbreakにしました。)

本番サーバー(さくら)にてPHP7.3にして動作確認してみたところ、
商品購入後の完了画面で、エラーが表示されてしまいました。

エラー文章
引用:
ContextErrorException in AbstractToken.php line 164:
Notice: unserialize(): Error at offset 1555 of 4227 bytes


購入者のデータが正しく unserialize出来ないようです。


関係あるかわかりませんが、phpエラーログに

a:4:{i:0;O:20:"Eccube\Entity\Member":14:{s:24:"
a:4:{i:0;O:22:"Eccube\Entity\Customer":40:{s:26:"

というような記述がありました。


後数日でサーバーのPHPが強制移行されてしまうため、
解決方法がございましたら、ご教授の程どうぞよろしくお願いいたします。


(エラー本文を載せていましたが、長いため削除しました)
red
投稿日時: 2019/6/27 8:16
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1567
Re: PHP7.3にした後、商品購入をすると、購入完了画面でunserializeエラーになる
akiakihi
投稿日時: 2019/6/27 9:03
対応状況: −−−
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 91
Re: PHP7.3にした後、商品購入をすると、購入完了画面でunserializeエラーになる
ご返信ありがとうございます!

こちらのページ、先に拝見しており、クッキーを削除してみましたが、改善されませんでしたm(_ _)m
kishikawa
投稿日時: 2019/6/27 10:27
対応状況: −−−
一人前
登録日: 2018/12/20
居住地: 松戸
投稿: 89
Re: PHP7.3にした後、商品購入をすると、購入完了画面でunserializeエラーになる
https://github.com/symfony/symfony/issues/29459

こちらを見つけましたが、追っていくとphpのバグということで、
しかもまだ修正されていないようです・・・

https://bugs.php.net/bug.php?id=77302

symfonyの方の以下の回答が少しヒントになりそうですが
https://github.com/symfony/symfony/issues/29459#issuecomment-445457394

こちらでは動かしていないのでどうなるかわかりません。
3tiles
投稿日時: 2019/6/27 10:56
対応状況: −−−
一人前
登録日: 2019/6/19
居住地:
投稿: 80
Re: PHP7.3にした後、商品購入をすると、購入完了画面でunserializeエラーになる
引用:

こちらを見つけましたが、追っていくとphpのバグということで、
しかもまだ修正されていないようです・・・

https://bugs.php.net/bug.php?id=77302


ですが、該当のバグレポートのStatusはClosedになっていないようですが、

引用:

とのことで、

https://github.com/php/php-src/commit/af324e24df85022314787f6dcf2ac811f58b88f3

で、修正されているようで、PHP7.3.4以降に反映されているようです。

ご利用のPHPのバージョンは7.3とのことですが、7.3.4未満であれば最新のバージョン等で再度試してみては如何でしょうか?


----------------
スリータイルズ
WEBメディア「WEBshiru(ウェブシル)」

akiakihi
投稿日時: 2019/6/27 15:14
対応状況: −−−
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 91
Re: PHP7.3にした後、商品購入をすると、購入完了画面でunserializeエラーになる
ご丁寧にありがとうございます。

PHPのバージョンを確認しましたところ、PHP7.3.6でした。
試しにもう一度購入処理をしてみましたが、購入完了画面で同様のエラーとなってしまいました。
(受注は出来ています)

ローカルのPHP7.3.6では問題なく動いているので、一つずつ、本番環境とローカルのファイルを確認してみます。
3tiles
投稿日時: 2019/6/27 20:00
対応状況: −−−
一人前
登録日: 2019/6/19
居住地:
投稿: 80
Re: PHP7.3にした後、商品購入をすると、購入完了画面でunserializeエラーになる
https://github.com/symfony/symfony/issues/29459
に関して、もう少しみてみると、

引用:

nicolas-grekas commented on 15 Dec 2018

...

We hit the bug because of this line added in 4.1.7.


のレスにて、

https://github.com/symfony/symfony/pull/28072/files#diff-3f33c4b578f7ceb90dae8836c3c9a9a7R173

が原因と言及されていて、

引用:

chalasr commented on 15 Dec 2018

See #29621 for the fix


のレスで、

https://github.com/symfony/symfony/pull/29621

にて修正されているようです。
( https://github.com/symfony/symfony/pull/29621/commits/a8eba803a35994628387678d6d3890f0f4f2bc56 )

ただ、このIssueは3.4系のSymfonyのものなので、エラー内容は良く似ているようですが、EC-CUBE3系のベースとなっている2.7系とは話が違うかもしれません。


引用:

ローカルのPHP7.3.6では問題なく動いているので、一つずつ、本番環境とローカルのファイルを確認してみます。


ローカルの方だと問題ないるなら、本番環境とのvendorディレクトリー以下のライブラリのバージョンの違いとか無いですかね?
Symfony周りのライブラリのバージョンが違っているとか。


----------------
スリータイルズ
WEBメディア「WEBshiru(ウェブシル)」

akiakihi
投稿日時: 2019/6/28 0:09
対応状況: −−−
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 91
Re: PHP7.3にした後、商品購入をすると、購入完了画面でunserializeエラーになる
ご丁寧にありがとうございます!

ローカル環境と本番環境のEC-CUBEは同じものをインストールしているので、各ファイルのバージョンに違いはありません。

ローカルとさくらインターネットの環境とでは、なにかが違うのだとは思いますが、
phpinfoを見た限りでは、unserializeに関連がありそうなmbstring関連項目に違いはありませんでした。


おっしゃる通り、EC-CUBE3系のSymphony2.7と、最新のSymphony3.4とでは、該当部分の記述が異なるようですので、上記修正をそのまま適用することが出来ません。

素人ですので厳しいですが、両者の違いをもう少し詳しく調べてみようと思います。。。



さくらインターネットでEC-CUBE3系を運用されている方は多くいらっしゃると思うのですが、
このほどのPHP7.3 への強制移行について、対応はどうされるかご意見をいただけると嬉しいです。
nanasess
投稿日時: 2019/6/28 9:18
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2303
Re: PHP7.3にした後、商品購入をすると、購入完了画面でunserializeエラーになる
3.0.18 ではいかがでしょうか。

https://github.com/EC-CUBE/ec-cube/pull/2865
https://github.com/EC-CUBE/ec-cube/pull/4168

Customer や Member を正しく serialize/unserialize できるようになっているはずです

https://www.ec-cube.net/news/detail.php?news_id=332

一応、手元の PHP7.3.5 で、 EC-CUBE3.0.18 になる予定の 3.0 ブランチで、該当の Notice が出ることなく動作しました
akiakihi
投稿日時: 2019/6/28 14:16
対応状況: −−−
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 91
Re: PHP7.3にした後、商品購入をすると、購入完了画面でunserializeエラーになる
なんと、タイムリーなバージョンアップ、ありがとうございます!!!

こちらのニュースに気付いておりませんでした。
とても助かります。

これからローカルと本番環境、共にPHP7.3.6にて試してみようと思います。
結果について、またご報告させてください。
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,286名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.