I've just installed PHPWiki 1.3.14-4 from the debian repositories and out of the box I got the following message on trying to log in to it:
Fatal error: Non-static method _PearDbPassUser::_PearDbPassUser() cannot be called statically, assuming $this from incompatible context in /usr/share/phpwiki.bak.d/lib/WikiUserNew.php on line 1118
The problem appears to be that, as of PHP 5.something, you're not allowed to have a function with the same name as a class. Apparently it's been a failure in E_STRICT mode for a while.
Anyway, the solution is to rename _PearDbPassUser() to something else, and then replace all calls to it with this new name.
I've done this and, so far, everything appears to work.
The function is defined in /usr/share/lib/phpwiki/lib/WikiUser/PearDb.php:
jup-linux2:/usr/share$ diff phpwiki.bak.d/lib/WikiUser/PearDb.php phpwiki/lib/WikiUser/PearDb.php 18c18 < function _PearDbPassUser($UserName='',$prefs=false) { --- > function _PearDbPassUserFoo($UserName='',$prefs=false) {
and is called in /usr/share/WikiUserNew.php:
jup-linux2:/usr/share$ diff phpwiki.bak.d/lib/WikiUserNew.php phpwiki/lib/WikiUserNew.php 1118c1118 < _PearDbPassUser::_PearDbPassUser($this->_userid, $this->_prefs); --- > _PearDbPassUser::_PearDbPassUserFoo($this->_userid, $this->_prefs); 1157c1157 < _PearDbPassUser::_PearDbPassUser($this->_userid, $prefs); --- > _PearDbPassUser::_PearDbPassUserFoo($this->_userid, $prefs); 2120c2120 < function PearDbUserPreferences ($saved_prefs = false) { --- > function PearDbUserPreferencesFoo ($saved_prefs = false) {