Сначала немного справочной информации. Я работаю над многосайтовым проектом, 3 города в каждом с собственной установкой типа CMS. Клиент не хочет платить за более чем один SSL-сертификат, и, несмотря на мое предложение, даже не заглядывает в подстановочный SSL-сертификат. Моя работа состоит в том, чтобы создать единый платежный шлюз, который находится на domain.com/paypment.php, а сами сайты - на поддоменах, например cityx.domain.com.
Теперь на исходной странице оплаты код получает доступ к объекту, созданному CMS с именем $ _SESSION ['member_obj'], и в какой-то момент кода обнаруживает уровень учетной записи пользователя, используя:
if ($_SESSION['member_obj']->data['account_level']==1)
Итак, все работает отлично и без проблем, но как только я использую тот же объект в моем скрипте, он ломается. Я хотел бы отметить, что мой код находится в корневом домене, а рабочий код - на подпрограмме. Я сделал переменные $ _SESSION доступными для всех поддоменов, используя:
ini_set('session.cookie_domain', '.domain.com');
Теперь, странная часть, объект существует, но когда я пытаюсь использовать метод -> data ['account_level'], он умирает от меня. Я знаю, что объект существует, потому что я могу напечатать объект и получить следующее:
__PHP_Incomplete_Class Object
(
[__PHP_Incomplete_Class_Name] => Member
[table] => members
[data] => Array
(
[id] => 1689
[title] => mr
[firstname] => Testy
[surname] => McTesters
[age_range] => 18-24
[gender] => male
[email] => xxxxxx
[username] => xxxxxx
[password] => xxxxxx
[account_level] => 1
[joined] => 1326290317
[password_reset] =>
[password_reset_date] => 01/01/1970
[last_active] => 1326881531
[status] => active
[contact] => 0
[third_party] => 0
[notifications] => 0
[terms] => 1
[dummy] => 0
[override_account] => 0
[premium_request] => 1
[password_reset_date_original] => 1970-01-01
)
с последующей загрузкой других вещей.
Итак, кто-нибудь может быть настолько любезным, чтобы объяснить мне, как объект может существовать, но не быть доступным?