I've installed copies of SilverStripe on my system many times over the past few years. Never struck any problems with the installation until today. I had a stable install of SilverStripe-v2.4.5 running and thought I would investigate SilverStripe's e-commerce module to see how it worked in a site I am building.
I downloaded ecommerce-0.8.2-rc1 and the payments module (payment-v0.3.0) and placed these in the root directory of my site. Did a dev/build/ and my e-commerce component was up and running. The CMS side of things was a bit flaky but I figured that this was probably due to configuration issues. I had attempted to sort these out but could see this was going to be a time consuming process when I ended up looking at a blank screen.
So I thought I'd remove the e-commerce component for now and go back to fine-tuning my template. Took directories out and trashed them. Refreshed my browser and looked at the same white screen.
OK. Let's do a clean install... just was well I hadn't populated the database with any content. I dropped it, deleted my install of SilverStripe and went through a fresh install procedure.
Which went fine until it stalled - producing an error that looks disturbingly similar to the error I was getting with the e-commerce module... and this is the result.
Can somebody please advise what is screwing things up? thnx!
[User Error] Couldn't run query: SELECT "Member"."ClassName", "Member"."Created", "Member"."LastEdited", "Member"."FirstName", "Member"."Surname", "Member"."Email", "Member"."Password", "Member"."RememberLoginToken", "Member"."NumVisit", "Member"."LastVisited", "Member"."Bounced", "Member"."AutoLoginHash", "Member"."AutoLoginExpired", "Member"."PasswordEncryption", "Member"."Salt", "Member"."PasswordExpiry", "Member"."LockedOutUntil", "Member"."Locale", "Member"."FailedLoginCount", "Member"."DateFormat", "Member"."TimeFormat", "Member"."ID", CASE WHEN "Member"."ClassName" IS NOT NULL THEN "Member"."ClassName" ELSE 'Member' END AS "RecordClassName" FROM "Member" LEFT JOIN "Group_Members" ON "Member"."ID" = "Group_Members"."MemberID" LEFT JOIN "Group" ON "Group_Members"."GroupID" = "Group"."ID" WHERE ("Group"."ID" IN (2)) GROUP BY "Member"."ClassName", "Member"."Created", "Member"."LastEdited", "Member"."FirstName", "Member"."Surname", "Member"."Email", "Member"."Password", "Member"."RememberLoginToken", "Member"."NumVisit", "Member"."LastVisited", "Member"."Bounced", "Member"."AutoLoginHash", "Member"."AutoLoginExpired", "Member"."PasswordEncryption", "Member"."Salt", "Member"."PasswordExpiry", "Member"."LockedOutUntil", "Member"."Locale", "Member"."FailedLoginCount", "Member"."DateFormat", "Member"."TimeFormat", "Member"."ID", CASE WHEN "Member"."ClassName" IS NOT NULL THEN "Member"."ClassName" ELSE 'Member' END ORDER BY "Surname", "FirstName" Incorrect key file for table 'member'; try to repair it
POST /Worksites/SilverStripe-v2.4.5/install.php
Line 525 in /Users/Sites/SilverStripe-v2.4.5/sapphire/core/model/MySQLDatabase.php
and...
Trace
* Couldn't run query: SELECT "Member"."ClassName", "Member"."Created", "Member"."LastEdited", "Member"."FirstName", "Member"."Surname", "Member"."Email", "Member"."Password", "Member"."RememberLoginToken", "Member"."NumVisit", "Member"."LastVisited", "Member"."Bounced", "Member"."AutoLoginHash", "Member"."AutoLoginExpired", "Member"."PasswordEncryption", "Member"."Salt", "Member"."PasswordExpiry", "Member"."LockedOutUntil", "Member"."Locale", "Member"."FailedLoginCount", "Member"."DateFormat", "Member"."TimeFormat", "Member"."ID", CASE WHEN "Member"."ClassName" IS NOT NULL THEN "Member"."ClassName" ELSE 'Member' END AS "RecordClassName" FROM "Member" LEFT JOIN "Group_Members" ON "Member"."ID" = "Group_Members"."MemberID" LEFT JOIN "Group" ON "Group_Members"."GroupID" = "Group"."ID" WHERE ("Group"."ID" IN (2)) GROUP BY "Member"."ClassName", "Member"."Created", "Member"."LastEdited", "Member"."FirstName", "Member"."Surname", "Member"."Email", "Member"."Password", "Member"."RememberLoginToken", "Member"."NumVisit", "Member"."LastVisited", "Member"."Bounced", "Member"."AutoLoginHash", "Member"."AutoLoginExpired", "Member"."PasswordEncryption", "Member"."Salt", "Member"."PasswordExpiry", "Member"."LockedOutUntil", "Member"."Locale", "Member"."FailedLoginCount", "Member"."DateFormat", "Member"."TimeFormat", "Member"."ID", CASE WHEN "Member"."ClassName" IS NOT NULL THEN "Member"."ClassName" ELSE 'Member' END ORDER BY "Surname", "FirstName" Incorrect key file for table 'member'; try to repair it
Line 525 of MySQLDatabase.php
* MySQLDatabase->databaseError(Couldn't run query: SELECT "Member"."ClassName", "Member"."Created", "Member"."LastEdited", "Member"."FirstName", "Member"."Surname", "Member"."Email", "Member"."Password", "Member"."RememberLoginToken", "Member"."NumVisit", "Member"."LastVisited", "Member"."Bounced", "Member"."AutoLoginHash", "Member"."AutoLoginExpired", "Member"."PasswordEncryption", "Member"."Salt", "Member"."PasswordExpiry", "Member"."LockedOutUntil", "Member"."Locale", "Member"."FailedLoginCount", "Member"."DateFormat", "Member"."TimeFormat", "Member"."ID", CASE WHEN "Member"."ClassName" IS NOT NULL THEN "Member"."ClassName" ELSE 'Member' END AS "RecordClassName" FROM "Member" LEFT JOIN "Group_Members" ON "Member"."ID" = "Group_Members"."MemberID" LEFT JOIN "Group" ON "Group_Members"."GroupID" = "Group"."ID" WHERE ("Group"."ID" IN (2)) GROUP BY "Member"."ClassName", "Member"."Created", "Member"."LastEdited", "Member"."FirstName", "Member"."Surname", "Member"."Email", "Member"."Password", "Member"."RememberLoginToken", "Member"."NumVisit", "Member"."LastVisited", "Member"."Bounced", "Member"."AutoLoginHash", "Member"."AutoLoginExpired", "Member"."PasswordEncryption", "Member"."Salt", "Member"."PasswordExpiry", "Member"."LockedOutUntil", "Member"."Locale", "Member"."FailedLoginCount", "Member"."DateFormat", "Member"."TimeFormat", "Member"."ID", CASE WHEN "Member"."ClassName" IS NOT NULL THEN "Member"."ClassName" ELSE 'Member' END ORDER BY "Surname", "FirstName" | Incorrect key file for table 'member'; try to repair it,256)
Line 123 of MySQLDatabase.php
* MySQLDatabase->query(SELECT "Member"."ClassName", "Member"."Created", "Member"."LastEdited", "Member"."FirstName", "Member"."Surname", "Member"."Email", "Member"."Password", "Member"."RememberLoginToken", "Member"."NumVisit", "Member"."LastVisited", "Member"."Bounced", "Member"."AutoLoginHash", "Member"."AutoLoginExpired", "Member"."PasswordEncryption", "Member"."Salt", "Member"."PasswordExpiry", "Member"."LockedOutUntil", "Member"."Locale", "Member"."FailedLoginCount", "Member"."DateFormat", "Member"."TimeFormat", "Member"."ID", CASE WHEN "Member"."ClassName" IS NOT NULL THEN "Member"."ClassName" ELSE 'Member' END AS "RecordClassName" FROM "Member" LEFT JOIN "Group_Members" ON "Member"."ID" = "Group_Members"."MemberID" LEFT JOIN "Group" ON "Group_Members"."GroupID" = "Group"."ID" WHERE ("Group"."ID" IN (2)) GROUP BY "Member"."ClassName", "Member"."Created", "Member"."LastEdited", "Member"."FirstName", "Member"."Surname", "Member"."Email", "Member"."Password", "Member"."RememberLoginToken", "Member"."NumVisit", "Member"."LastVisited", "Member"."Bounced", "Member"."AutoLoginHash", "Member"."AutoLoginExpired", "Member"."PasswordEncryption", "Member"."Salt", "Member"."PasswordExpiry", "Member"."LockedOutUntil", "Member"."Locale", "Member"."FailedLoginCount", "Member"."DateFormat", "Member"."TimeFormat", "Member"."ID", CASE WHEN "Member"."ClassName" IS NOT NULL THEN "Member"."ClassName" ELSE 'Member' END ORDER BY "Surname", "FirstName",256)
Line 129 of DB.php
* DB::query(SELECT "Member"."ClassName", "Member"."Created", "Member"."LastEdited", "Member"."FirstName", "Member"."Surname", "Member"."Email", "Member"."Password", "Member"."RememberLoginToken", "Member"."NumVisit", "Member"."LastVisited", "Member"."Bounced", "Member"."AutoLoginHash", "Member"."AutoLoginExpired", "Member"."PasswordEncryption", "Member"."Salt", "Member"."PasswordExpiry", "Member"."LockedOutUntil", "Member"."Locale", "Member"."FailedLoginCount", "Member"."DateFormat", "Member"."TimeFormat", "Member"."ID", CASE WHEN "Member"."ClassName" IS NOT NULL THEN "Member"."ClassName" ELSE 'Member' END AS "RecordClassName" FROM "Member" LEFT JOIN "Group_Members" ON "Member"."ID" = "Group_Members"."MemberID" LEFT JOIN "Group" ON "Group_Members"."GroupID" = "Group"."ID" WHERE ("Group"."ID" IN (2)) GROUP BY "Member"."ClassName", "Member"."Created", "Member"."LastEdited", "Member"."FirstName", "Member"."Surname", "Member"."Email", "Member"."Password", "Member"."RememberLoginToken", "Member"."NumVisit", "Member"."LastVisited", "Member"."Bounced", "Member"."AutoLoginHash", "Member"."AutoLoginExpired", "Member"."PasswordEncryption", "Member"."Salt", "Member"."PasswordExpiry", "Member"."LockedOutUntil", "Member"."Locale", "Member"."FailedLoginCount", "Member"."DateFormat", "Member"."TimeFormat", "Member"."ID", CASE WHEN "Member"."ClassName" IS NOT NULL THEN "Member"."ClassName" ELSE 'Member' END ORDER BY "Surname", "FirstName",256)
Line 400 of SQLQuery.php
* SQLQuery->execute()
Line 2736 of DataObject.php
* DataObject->instance_get("Group"."ID" IN (2),,LEFT JOIN "Group_Members" ON "Member"."ID" = "Group_Members"."MemberID" LEFT JOIN "Group" ON "Group_Members"."GroupID" = "Group"."ID" ,,DataObjectSet)
Line 2714 of DataObject.php
* DataObject::get(Member,"Group"."ID" IN (2),,LEFT JOIN "Group_Members" ON "Member"."ID" = "Group_Members"."MemberID" LEFT JOIN "Group" ON "Group_Members"."GroupID" = "Group"."ID" )
Line 401 of Permission.php
* Permission::get_members_by_permission(ADMIN)
Line 149 of Member.php
* Member->requireDefaultRecords()
Line 235 of DatabaseAdmin.php
* DatabaseAdmin->doBuild(1)
Line 1093 of install.php
* Installer->install(Array)
Line 190 of install.php