Last modified: 2012-07-11 18:01:31 UTC
Created attachment 10828 [details] A screenshot of the error you may get in the Terminal. This is a database server support hole in the AntiSpoof extension. When trying to run update.php in a wiki that uses SQLite, update.php will try to get an SQL query file does not exist, and update.php returns this output: MediaWiki 1.17.3 Updater Going to run database updates for BrandonSkyWiki Depending on the size of your database this may take a while! Abort with control-c in the next five seconds (skip this countdown with --quick) ... 0 ...have ss_active_users field in site_stats table. ...ss_active_users user count set... ...have ipb_allow_usertalk field in ipblocks table. ...have initial indexes ...change_tag table already exists. ...tag_summary table already exists. ...valid_tag table already exists. ...user_properties table already exists. ...log_search table already exists. ...have log_user_text field in logging table. ...log_user_text field already populated. ...log_search table already populated. ...l10n_cache table already exists. ...external_user table already exists. ...ls_field_val key already set on log_search table. ...change_tag_rc_tag key already set on change_tag table. ...have rd_interwiki field in redirect table. ...transcache tc_time already converted. ...fulltext search table appears to be in order. ...iwlinks table already exists. ...iwl_prefix_title_from key already set on iwlinks table. ...have ul_value field in updatelog table. ...have iw_api field in interwiki table. ...iwl_prefix key doesn't exist. ...iwl_prefix_from_title key doesn't exist. ...have cl_collation field in categorylinks table. ...collations up-to-date. ...msg_resource table already exists. ...module_deps table already exists. ...flaggedrevs table already exists. Creating spoofuser table...PHP Warning: fopen(/Users/sky/Sites/brandonsky11o/g/wiki/extensions/AntiSpoof/sql/patch-antispoof.sqlite.sql): failed to open stream: No such file or directory in /Users/sky/Sites/brandonsky11o/g/wiki/includes/db/Database.php on line 2442 Could not open "/Users/sky/Sites/brandonsky11o/g/wiki/extensions/AntiSpoof/sql/patch-antispoof.sqlite.sql". Backtrace: #0 /Users/sky/Sites/brandonsky11o/g/wiki/includes/installer/DatabaseUpdater.php(359): DatabaseBase->sourceFile('/Users/sky/Site...') #1 /Users/sky/Sites/brandonsky11o/g/wiki/includes/installer/DatabaseUpdater.php(376): DatabaseUpdater->applyPatch('/Users/sky/Site...', true) #2 [internal function]: DatabaseUpdater->addTable('spoofuser', '/Users/sky/Site...', true) #3 /Users/sky/Sites/brandonsky11o/g/wiki/includes/installer/DatabaseUpdater.php(250): call_user_func_array(Array, Array) #4 /Users/sky/Sites/brandonsky11o/g/wiki/includes/installer/DatabaseUpdater.php(222): DatabaseUpdater->runUpdates(Array, true) #5 /Users/sky/Sites/brandonsky11o/g/wiki/maintenance/update.php(97): DatabaseUpdater->doUpdates(Array) #6 /Users/sky/Sites/brandonsky11o/g/wiki/maintenance/doMaintenance.php(108): UpdateMediaWiki->execute() #7 /Users/sky/Sites/brandonsky11o/g/wiki/maintenance/update.php(123): require_once('/Users/sky/Site...') #8 {main} update.php should have returned something like "Creating spoofuser table... done." Steps to reproduce this problem: 1) Configure a wiki using SQLite as the database server. 2) Download AntiSpoof from http://www.mediawiki.org/wiki/Special:ExtensionDistributor/AntiSpoof 3) Copy AntiSpoof directory to 'extensions' directory in the root level of your MediaWiki install. 4) Add "require_once( "$IP/extensions/AntiSpoof/AntiSpoof.php" );" to the bottom of LocalSettings.php. 5) Run "php /path/to/mediawiki/install/maintenance/update.php" in the Terminal.
Upgrade to a newer version; AntiSpoof master in git has a sqlite file. And by the looks of it, so does REL1_19
Here's a hack that allows you to run AntiSpoof under SQLite databases: 1) Download both AntiSpoof for master and AntiSpoof for MediaWiki <1.19. 2) Copy the sqlite file to the sql folder in the root of the latter extension. 3) Copy latter AntiSpoof folder to extensions directory in MW root. 4) Add require_once( "$IP/extensions/AntiSpoof/AntiSpoof.php" ); to the bottom of LocalSettings.php. 5) Run php maintenance/update.php. 6) Run php extensions/AntiSpoof/batchAntiSpoof.php. 7) Check Special:Version on your wiki to verify installation. 8) Done!