Я использую Zend Oauth для подключения моего приложения к Twitter, как описано здесь: http://framework.zend.com/manual/en/zend.oauth.introduction.html
Он отлично работает, сохраняя токен запроса Twitter и токен доступа Twitter в сеансе, используя сериализацию и десериализацию, как это (сокращенно):
1: $consumer = new Zend_Oauth_Consumer($config);
2: $token = $consumer->getRequestToken();
3: $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token); //write Request Token
... и ...
4: $consumer = new Zend_Oauth_Consumer($config);
5: $token = $consumer->getAccessToken($_GET,
unserialize($_SESSION['TWITTER_REQUEST_TOKEN']));
6: $_SESSION['TWITTER_ACCESS_TOKEN'] = serialize($token); //write Access Token
... и ...
7: $token = unserialize($_SESSION['TWITTER_ACCESS_TOKEN']);
8: $client = $token->getHttpClient($configuration);
Теперь я хочу сохранить доступТокен в моей базе данных MySQL после строки 6. Проблема в том, что как только я делаю это, запись в БД содержит странные символы, подобные этому:
O:23:"Zend_Oauth_Token_Access"?:{s:10:"�*�_params";a:4:{s:11:"oauth_token";s:50:"64658798-xOvsSyC83P2lhZRVvvaQLQddaifKO2qmN2KL91eaI";s:18:"oauth_token_secret";s:42:"R4nBLeWhNRXleKsN6H3crubYd2FEmfHFRtLbEh8gos";s:7:"user_id";s:8:"64658798";s:11:"screen_name";s:13:"MyTwitterAccount";}}
, что приводит к уведомлению (Ошибка по смещению 30 от280 байт) в строке 7 и фатальная ошибка в строке 8, поскольку $ token не является объектом.Поэтому я попытался выяснить ошибку и уже опубликовал проблему на форуме Zend, но никто не мог мне помочь ... Я думаю, что это ошибка кодирования.База данных и все мои документы правильно кодируются в utf-8, хотя у меня никогда не было таких проблем, как раньше ... var_dump ($ token) в строке 3 показывает мне, что там уже есть зашифрованные символы.Вот выдержка:
"Accept-Encoding" ["Content-encoding"]=> string(4) "gzip" ["Content-length"]=> string(3) "146" ["Connection"]=> string(5) "close" } ["body":protected]=> string(146) "�������E˹� ��п��J;80���4(,9��� ��.M��ؖ�"K���H���Q��a|;W����d2��.�Je�-���-y.���3��〺 object(Zend_Oauth_Http_Utility)#89 (0)
Является ли проблема с gzip в кодировке контента?Или проблема вызвана Zend и методом getRequestToken ()?Любая помощь высоко ценится.Заранее спасибо