Page MenuHomePhabricator

Call to a member function getAssociation() on a non-object in ...Consumer.php on line 945
Closed, InvalidPublic

Description

reported in https://www.mediawiki.org/wiki/Extension_talk:OpenID#Call_to_a_member_function_getAssociation.28.29_on_a_non-object_in_...Consumer.php_on_line_945_15325

Mediawiki: 1.19 PHP Version 5.3.10 OpenID: 1.001

The problem is when I try to login with google-account. After the request of which email I want to use I get redirected to another page where I see this:

Fatal error: Call to a member function getAssociation() on a non-object in ...Consumer.php on line 945

I've also tried the extension on mediawiki 1.18

Does anyone have a solution for this?


Please check and make sure that you have also the correct version of php-OpenID library. Most likely you are using and incorrect outdated version of the library.

I suggest you delete all files in the subdirectory $IP/extension/OpenID, and that subdirectoy itself, and you make a fresh installation of version 1.004. Follow the installation instructions and apply the "make" (makefile) to download the correct library from https://github.com/Wikinaut/php-openid/tree/mw-extension-openid . You can inspect the library code on GitHub and the extension code itself on MediaWiki SVN http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/OpenID/ , see readme files, in case you want to study it.

I've now made a fresh installation with version 1.004 by following the instructions. Unfortunately the problem remains with the exact error message as I posted before.

Rajjder (talk)‎01:10, 17 May 2012


Version: unspecified
Severity: normal

Details

Reference
bz36924

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 12:29 AM
bzimport set Reference to bz36924.

gmd library was missing for the user (see checklist 2 on Talk:OpenID), but is required.

closing bug as invalid

Actually no, this issue is caused by openbase_dir. You assume that you can write to /tmp, in today's hosting market this is no always the case. I suggest in the future you use sys_get_temp_dir.

The easy work around is to set:

$wgOpenIDServerStorePath

and

$wgOpenIDConsumerStorePath

to a dir that you do have write perms to.