Dope_OpenId — библиотека для работы с openid 2.0. Возникают проблемы совместимости с php 5.3. Возникает куча ошибок вызова функиций класса как статических, возврата объекта по ссылке и т.д. После фикса этих ошибок авторизация по openid не работает — постоянно выскакивет ошибка 'OPENID_SERVER_NOT_FOUND'. Долго копался в исходниках библиотеки, но решить проблему не смог. на php 5.2 работает все отлично. Может кто сталкивался с этой проблемой? Подскажите решение.
На 5.3 пока не перебрался, но в Dope_OpenId есть косяк в библиотеке Yadis. Если ты вызываешь Dope_OpenId в функции или методе, то надо писать: PHP: global $_Services_Yadis_ns_map; global $__Services_Yadis_defaultParser; global $__Services_Yadis_xml_extensions; $__Services_Yadis_xml_extensions = array('dom' => 'Services_Yadis_dom', 'domxml' => 'Services_Yadis_domxml'); Иначе сыпятся варнингы про foreach и всегда OPENID_SERVER_NOT_FOUND. Ужасная кривость.
Спасибо, действительно проблема в этом. Осталось несколько warning`оф, но это все php 5.3 и его обратная совместимость, то есть — поправимо.
Hight, извини, я давно не спал и сильно устал. Не могу понять: тебе не понравилась моя формулировка? Функции и методы... Ну, да, градирую их. Не вижу причины этого не делать.