WordPress probleem: fout na inloggen
Beginsituatie: WordPress 2.2 installatie op server op intranet.
Aktie: wijzigen van de naam van de tabellen en de “prefix” die standaard wp_ is naar wp22_.
Gevolg: foutmelding in alle logins (ook admin!):
“You do not have sufficient permissions to access this page”
Oplossing:
(zoals ze bij mij verliep)
Bij het vergelijken van de tabellen blijkt dat in tabel wp22_usermeta
voor het root account er een record ontbreekt, nl record 4 met als gegevens
umeta_id = 4, user_id = 1, meta_key = wp22_user_level, meta_value = 10
Ook zie ik hier de prefix wp_ in de database staan, terwijl ik die manueel in de struktuur van de db veranderd had in wp22_ !
Dus in phpMyAdmin aanpassen met de nodige MySQL commando’s :
update `wp22_usermeta`
set meta_key="wp22_capabilities" where meta_key="wp_capabilities"
Affected rows: 8 (Query took 0.0010 sec)
Zelfde voor wp_userlevel:
update `wp22_usermeta`
set meta_key="wp22_user_level" where meta_key="wp_user_level"
Affected rows: 6 (Query took 0.0018 sec)
De foutmelding was nog niet weg dus:
- Zoek in Google op de foutmelding bevestigt (hier) situatie na manueel wijzigen van db
- php script afgehaald van txfx.net/files/wordpress/force-upgrade.phps
- uitgevoerd door aanroepen als url; bleek idd gewerkt te hebben; foutmelding weg, wp werkt weer.
Het script bevat onder meer:
(sommige stukken zullen niet juist worden weergegeven, gebruik de download voor de code)
txfx_log(‘This script will attempt to upgrade your database. It is intended for users of WordPress 1.5 or later.’);
txfx_log(‘You should delete this script from your server after you are done using it!‘);
en
require(‘wp-config.php’);
txfx_log(‘WordPress loaded…’);
require(‘wp-admin/upgrade-functions.php’);
txfx_log(‘Upgrade functions loaded…’);
wp_cache_flush();
txfx_log(‘Object cache flushed…’);
make_db_current();
txfx_log(‘Database made current…’);
upgrade_160();
txfx_log(‘Data upgraded…’);
$wp_rewrite->flush_rules();
txfx_log(‘Rewrite rules flushed…’);
wp_cache_flush();
txfx_log(‘Object cache flushed…’);
txfx_log(‘br’);
txfx_log(‘Hopefully that did it! DELETE THIS FILE FROM YOUR SERVER NOW!‘);
txfx_log(‘And then, try to access your/wp-admin/
‘);