mystring.Replace("x","y")
, В то время как это похоже, это должно сделать замену на строке, это вызывается на него, на самом деле возвращает новую строку с заменами, сделанными, не меняя струну, на которую это вызывается. Необходимо помнить, что строки неизменны.
Хорошо, я наконец-то исправил библиотеку ... Я все объяснил здесь (вы также можете скачать библиотеку php-openid после моих изменений).
Мне нужно было сделать то, что предложил Пол Тарджан, но также Мне нужно было изменить Auth_OpenID_detectMathLibrary
и добавить ключевое слово static
во многие функции. После этого, похоже, все работает отлично, хотя это не идеальное решение ... Я думаю, что кто-то должен переписать всю библиотеку на PHP 5 ...
Zend_OpenId совместим с PHP 5.3, однако он поддерживает только OpenID 1.1 и не будет работать с Google (который использует OpenID 2.0). Система OpenID Янрейна обычно доступна через http: // openidenabled.
Решение состоит в том, чтобы удалить все элементы передачи по ссылке в php-openid.
измените
foo(&$param)
на
foo($param)
, и библиотека должна снова работать.