views:

398

answers:

4

Hi all, I am having trouble putting the final touches on my MySQL/Apache/phpMyAdmin install on a Windows XP system. I am trying to get rid of all the error message in phpMyAdmin and I have gotten rid of all of them except the ones related to "advanced features." The exact error message I have is :

The additional features for working with linked tables have been deactivated. To find out why click here.

I have read up on the cause of the errors but I must be missing something because I still cannot get the warning to go away. Here is what I have done:

Created a linked-tables infrastructure (default name "phpmyadmin") per the phpMyAdmin instructions and enabled "pmadb" in my "config.inc.php" file.

Specified (enabled) the table names in my "config.inc.php" file (there are 9 tables total).

Created a "controluser" and granted only Select privilages per phpMyAdmin instructions

Adjusted "controluser" pma and "controlpass" pmapass in "config.inc.php" file

From what I can see these are all the instruction phpMyAdmin gives on this subject, and I am unable to locate any tutorials on the specifics of "advanced features" in phpMyAdmin.

Any help would be appreciated, and be gentle, this is my first go with MySQL/phpMyAdmin

And if there is some bit of info you need to help me please let me know what it is and I'll get it for you.

EDIT: 4/30/2010

In an attempt to make this easier I uninstalled everything (Apache, PHP, MySQL, and phpMyAdmin) in just installed WAMP. I was hoping the automatic configuration provided by WAMP would take care of my issue, but I have the EXACT SAME PROBLEM! This warning is pissing me off and this is becoming a matter of pride!

EDIT: 5/14/2010

Thank you all for your suggestions, but I found the answer to my question was to use XAMPP instead of WAMP. In under 5 minutes I had XAMPP up and running with NO ERRORS of any kind. The XAMPP user interface is much better too. I would suggest XAMPP to anyone frustrated with WAMP.

A: 

The solution is already at serverfault.com/#answer-66712.

Mikulas Dite
Yeah, I saw that before I posted this question. He is using Debain, not Windows. My install does not have the file he refers to, thanks for trying though!
typoknig
A: 

Possibly the issue is the privileges for the account - my local setup grants all privileges to the user/controluser.

Here's what part of my config.inc.php looks like:

/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user']          = 'USER';      // MySQL user
$cfg['Servers'][$i]['password']      = 'PASSWORD';          // MySQL password (only needed
                                                    // with 'config' auth_type)

/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysql';
/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'USER';
$cfg['Servers'][$i]['controlpass'] = 'PASSWORD';
/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';

and the relevant part of the privileges reported by phpmyadmin:

User        Host        Type        Privileges      Grant   Action
-----------------------------------------------------------------------
USER        %           global      ALL PRIVILEGES  Yes     Edit Privileges
USER        localhost   global      ALL PRIVILEGES  Yes     Edit Privileges

This may not be the most secure setup, but this is for an internal development machine (where I, too, got fed up with the warning message). I note that one of the solutions proposed to the Debian version was to give the pma user nearly all privileges, not just SELECT.

Obviously I've substituted USER and PASSWORD for my own user and password.

MZB
You config file looks identical to mine except that I do not have the 'user' and 'password' lines that you have on lines 3 and 4. I went ahead and added them in and made them identical to my control user setting but that didn't change anything. I would also like to point out that phpMyAdmin claims that my 'controluser' settings are correct. Thanks for trying. Also, I don't think I want to give all privilages to controluser, but I tried to make 'root' my control user and I still got the same error :(
typoknig
A: 

The relevant section of the PMA code is PMA__getRelationsParam in libraries/relation.lib.php. Apart from confirming the existence of the 8 tables it checks to see whether the pma_column_info table has rows with mimetype, transformation and transformation_options. The PHPMyAdmin manual has further information on how to set up that table. Alternatively, you can set PmaNoRelation_DisableWarning if you don't need the feature and just want to do away with the warning.

Edit: you can debug the source to find the exact problem. Add

var_dump(compact('mime_field_mimetype', 'mime_field_transformation', 'mime_field_transformation_options'));
var_dump($cfgRelation); 
die;

to the end of the PMA__getRelationsParam function, just before the return statement, then load PMA and see which one of the checks is false.

Tgr
I looked into this and all of my tables and fields appear as the documentation said they should. As I pointed out in my original question, I created the linked-tables infrastructure, but I didn't say how I did it. To clarify I imported "create_tables.sql" file specified by the phpMyAdmin documentation on the subject. If worst comes to worst I will just disable the warning, but I would like to have the features.
typoknig
I updated the answer with instructions on how to debug PhpMyAdmin for more information.
Tgr
I did as you suggested, restarted the server, but I am unclear as to how I "load PMA and see which one of the checks is false". Could you be a little more specific on that? As far as I can tell everything is exactly the same as it was before I added the code you suggested. I get the same error and no other indication of where the actual problem is coming from.
typoknig
If you put it at the right place, PMA shouldn't load at all, you should see the debug information instead. You don't need to restart the server; you might have to start a new browser session though.
Tgr
I put the code in the code box exactly how you typed it right before the return statement for PMA__getRelationsParam. I also noticed that there is a PMA_getRelationsParam (only one underscore) and I tried it there too. When I put it under PMA_getRelationsParam I can login to phpMyAdmin, but once logged in the only thing that displays on the screen is something like "array {0}[NULL]" or something of the sort.
typoknig
You need the one with the double underscore. Try to log out and back in after you add the debug code; if it doesn't help, edit the condition in `PMA_getRelationsParam` (the one with one underscore) and replace `if (empty(...` with `if(1||empty(...`.
Tgr
Funny thing, the code you told me to put in to debug is already present in the WAMP version of that file, but it wasn’t in the stand alone installation. Anyways, it still doesn’t work :( I’m not giving up though, because this warning is very annoying. Thanks for trying.
typoknig
If you still don't see debug output, you are probably not seeing the same instance of PMA which is running. If you are determined to find out the problem, I suggest you use a debugger (my favorite is Xdebug + Firefox with one of the Xdebug extensions + Notepad++ with DBGP plugin).
Tgr
A: 

Thank you all for your suggestions, but I found the answer to my question was to use XAMPP instead of WAMP. In under 5 minutes I had XAMPP up and running with NO ERRORS of any kind. The XAMPP user interface is much better too. I would suggest XAMPP to anyone frustrated with WAMP.

typoknig