プロが教える店舗&オフィスのセキュリティ対策術

1日から頭を悩ませております。
先輩がいなくなりまして私がやることになったシステムがあるのですがサーバを移転させてからサイトにアクセスすると以下のメッセがでて動かなくなってしまいました。

Call to a member function on a non-object in /home/●●●/www/●●●/home/inc/dataMNG.php on line 134

134行目をみにいくと
}else{$_file = substr($file,5);
$obj = unserialize(file_get_contents($this->data_dir . "/" . $file));
$list["sub"][$_file] = $obj->toArray();

いろいろとパーミッションなど合わせてみたのですがエラーが消えませんでした。

このエラーのことを調べてみたのですがXOOPSなどのページで参考になりませんでした。
大変申し訳ありませんが、お力をお貸しいただきたいと思います。
よろしくお願いします。

A 回答 (1件)

> $obj = unserialize(file_get_contents($this->data_dir . "/" . $file));



理由はわからないけど、以前保存していたオブジェクトをこのunserializeで
取り出すことができなかったという話じゃないの?
ここで $obj にオブジェクトが取り出せなかったので、

> $obj->toArray();

メソッドの呼び出しができない。と。

環境が変わるとシリアライズしたデータを使いまわすことができるかどうかは
微妙なところなんでなんともいえないけど、できないものとしてやり直したほうが良いんじゃないかな。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!