404 on Members after upgrade to 1.9

Hi all,

after upgrade to 1.9.1 from 1.8.16 everything works fine except that I get a 404 on the list of all elgg members of my installation. The changelog says "* **members:** prevent members search with empty query ([12f7b88f](https://github.com/Elgg/Elgg/commit/12f7b88f28a60ff8348bc122884c7e8d6c183e4f))" so this may be the issue. Is this a known bug? I'm using stock .htaccess that is only slightly adapted from the htaccess_dist

The URI it wants to query is actually https://servername/members Is this correct? If not, what should be written into the .htaccess to make the right transforms?

Thanks for help
 

  • https://servername/members  is a valid URL.

    Are you sure there aren't any third-party plugins that might override the members page?

    Check your server error log for more details on the error.

  • If done a tail -f errorlog within the shell while trying to access Members and I get no entry. Apart from Mobilize and Elggchat I have only the stock plugins. I de-activated the plugin "Members 1.9", Mobilize and Elggchat. The menu item of "Members" disappeared from the possible entries. I re-activated it and it re-appeared. I clicked on it and it gave a 404. Than I turned logging on. I clicked on Members with my normal (non-admin) account and it issued a Fatal error:

    WARNING: Deprecated in 1.9: The members/nav view has been deprecated. Instead use the (members:config, tabs) plugin hook to register tabs. Called from [#6] /home/www/elgg/data/engine/lib/views.php:372<br /> -> [#5] /home/www/data/mod/members/pages/members/index.php:14<br /> -> [#4] /home/www/data/mod/members/start.php:152

    I stored the entire error into http://paste.kde.org/pavxxrqg5 (for one week) and obfuscated the server name


     

  • The warning indicates that your codebase isn't a clean 1.9 site but it has some old files that should be removed.

    For some reason the plugin hook at /home/www/data/mod/members/pages/members/index.php on row 28 doesn't get a return value. Because of this Elgg tries to forward you to a 404 error. This however cannot be done because PHP has already printed output (the deprecation warning).

    You should clean you codebase of code that has been removed in Elgg 1.9. (Might be best to open a separate discussion for this if you don't know how to do it.) After this we can find out whether the problems are caused by the code left behind during the upgrade, or an actual Elgg bug.

  • Ok, I STRICTLY followed the instructions for an upgrade from 1.8 to 1.9. perhaps I should rather do a clean install of 1.9 that still uses the old mysql database. That looks more promising IMHO than to clean the codebase that had nothing special to it. The only sorrow is that I want to avoid loss of data. Any risk of data loss if I do that? I assume everything is stored in the mysql database.

    And of course a big thanks for the fast help!
     

  • Yes, you can download the 1.9 codebase and then just copy these to it:

    • .htaccess
    • engine/settings.php
    • any 3rd-party plugin folders in the mod directory

    This way you won't lose any data. It will immediately connect to the database that you have already upgraded to 1.9.

    Remember to make a backup of everything before you do it.

  • Do you have the file nav.php in mod/members/views/default/members/.

    If you do, you must delete it.

  • I had the same problem as Scotty57 after upgrading to 1.9. As per the advice of Per Jensen, I removed nav.php in mod/members/views/default/members/ and the members plugin now functions correctly. Any insight into why this fixes the issue?

    Edit

    It appears the issue with having nav.php might be found in mod/members/pages/members/index.php at line 8

  • This file was part of Elgg 1.8 but is no longer included in Elgg 1.9. Basically, any core file that is no longer part of the Elgg version a site gets upgraded to but remains on the server because you only copy the new version over the old version could result in problems. Therefore, I would always remove the files of the old version completely before installing the new version. As Juho suggested, you only need to keep .htaccess and settings.php from the old Elgg version and of course you can keep your 3rd party plugins in mods.