ホームページ >バックエンド開発 >PHPチュートリアル >キャッチされない例外「Exception」とメッセージ「SimpleXMLElement のシリアル化」

キャッチされない例外「Exception」とメッセージ「SimpleXMLElement のシリアル化」

WBOY
WBOYオリジナル
2016-06-23 14:13:291850ブラウズ

関数 deal_taobao_data($data){
$data = シリアル化($data);
$data = str_replace('O:16:"SimpleXMLElement"', 'a', $data);
$arrstr = unserialize($data);
[@attributes] => 配列 > true
)

)
配列に変換します
ローカルでテストできますが、アップロード後にエラーが報告されます:
致命的なエラー: キャッチされない例外 'Exception 'メッセージ「'SimpleXMLElement' のシリアル化
は許可されていません」/web/taabao.php:328
スタック トレース:
#0 /web/taabao.php(328): Serialize(Object(SimpleXMLElement))
#1 /web /taabao.php(50): deal_taabao_data(Object(SimpleXMLElement))
#2 {main}
/web/taabao.php の 328 行目にスローされます
この問題の根本原因を知っている人はいますか?


ディスカッション(解決策)への返信

ローカルテストは大丈夫ですか? ? ?
冗談です、私はあなたを責めません



テストは確かに正しいです。 。 。

ローカルでテストすることは可能ですか? ? ?
冗談です、あなたを責めるつもりはありません
完全な配列が返されました。

サンプルデータを投稿してください

サンプル データを投稿する
SimpleXMLElement オブジェクト
(
[item_cats] => SimpleXMLElement オブジェクト
(
) [@attributes] => 配列
> 配列
[cid] => 50013865
[is_parent] => ; false
[名前] => 50013868
[parent_cid] => 50013864

[cid] " [parent_cid] => 50013864
                        )

[3] => SimplexmLelementオブジェクト

[CID] => 50013869 SimplexmLelementオブジェクト

[CID] => 50013870 SimplexmLelementオブジェクト

[CID] => 50013871 SimpleXMLElement オブジェクト
(
[cid] => 50013875
[is_parent] => false
[name] => is_parent] => false
parent_cid] => 50013864
([cid] =>                        )

)

)

)
1

ローカル テストで正常に返されたコード (一部省略):
Array
(
[item_cats] => Array
(
[@attributes] => Array
[item_cat] => =>[3] => [is_parent] =>

1. SimpleXMLElement をシリアル化できません
キャッチされない例外 'Exception' と、「'SimpleXMLElement' のシリアル化は許可されていません」というメッセージが表示されます
2. たとえそれが可能であっても、
echo Serialize(array(1)); によって、
a:1: {i:0;i:1;}
あなたがやったような置換ではありません

1. SimpleXMLElement をシリアル化できません
キャッチされない例外 'Exception' とメッセージ「'SimpleXMLElement' のシリアル化は許可されていません」
2. たとえそれができたとしても、
echo Serialize(array(1));
a:1:{i:0;i:1;}
あなたがやったように置き換える代わりに

私はそれを自分で解決しました、関数を変更してください!

関数 deal_taobao_data($data){

$arrstrs=json_encode($data);

$arrstr;

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。