3

I use a recently freshly installed phpmyadmin 4.0.5 for the administration of databases on a server with a rather restrictive firewall.

In the firewall logs I see that phpmyadmin tries to open an http connection to the address 216.34.181.97 - which belongs to sourceforge. Probably, this connection is required to look for and display update information.

Now what bothers me is the following:

When I block this connection by the firewall I experience that phpmyadmin does not react for around 1 minute when I directly after a login want to list up all tables of a database. After the "waiting time" everything runs as quickly as expected again.

When I allow for a http connection to 216.34.181.97 the initial slow down of phpmyadmin does not happen. This can be reproduced.

I saw some questions on some internet forums regarding a similar initial slow down of phpmyadmin - but these questions never were answered sufficiently.

So I post some questions here:

Question 1: Is the http connection only for looking for updates ??? Or is there more going on ??

Question 2: Can someone confirm the described behaviour of phpmyadmin?

Question 3: Should this inital automatic trial to get a connection to sourceforge not be handled differently by the phpmyadmin developers in future releases? At least it should not delay user interactions after the login ...

Question 4: Is there a parameter setting by which I can eliminate the trial to connect to sourceforge?

tshepang
  • 12,111
  • 21
  • 91
  • 136
ralph
  • 88
  • 6
  • Although the IP is owned by SourceForge. PMA is probably trying to connect to phpmyadmin.net (hosted on the same IP). Just tested mine, it doesn't make the connection, very peculiar! – Jamie Taylor Sep 12 '13 at 13:52
  • Meanwhile I found an answer to Question 4 by myself : $cfg['VersionCheck'] = false; See: http://wiki.phpmyadmin.net/pma/Config#VersionCheck – ralph Sep 12 '13 at 14:23

2 Answers2

3
  1. It's just for version check

  2. Confirmed

  3. There is a parameter to bypass the version check: https://phpmyadmin.readthedocs.org/en/latest/config.html#cfg_VersionCheck

Also, the version check can be done via a proxy, see https://phpmyadmin.readthedocs.org/en/latest/config.html#cfg_VersionCheckProxyUrl and the parameters that follow.

Marc Delisle
  • 8,879
  • 3
  • 29
  • 29
  • Did not yet try the proxy solution. However, $cfg['VersionCheck'] = false; works and solves my problem. My general suggestion nevertheless is that someone of the phpmyadmin developers changes the way the version check is done - to avoid the delay of user activities after login. Could maybe done by Ajax .. – ralph Sep 12 '13 at 14:31
  • The verification is already supposed to be done asynchronously, see js/functions.js at line 3172. – Marc Delisle Sep 12 '13 at 14:42
  • Hm, strange. Had a (very) short look at the callback function for the JQuery $.getJSON (Ajax) call. Can't see why it should stop everything in case the connection is not build up. I use $.getJSON often myself in PHP/JS projects; it normally works. But this gives me an idea where and what to test if I find some time for it. So thank you for the hint about the position of the relevant javascript code. – ralph Sep 13 '13 at 09:52
0

Adding $cfg['VersionCheck'] = false; to the "config.inc.php" file, doesn't seem to solve the problem. You can always delete - or comment out - the code responsible directly in "config.default.php" file, but I wouldn't recommend it.
The best way I found to avoid the OP issue is to change the VERSION_CHECK_DEFAULT definition in the "vendor_config.php" file to false, define('VERSION_CHECK_DEFAULT', false); thus when the following code in "config.default.php" checks for it

if (defined('VERSION_CHECK_DEFAULT')) {
    $cfg['VersionCheck'] = VERSION_CHECK_DEFAULT;
 } else {
    $cfg['VersionCheck'] = true;
}

the 'VersionCheck' will be assign to 'false', skipping the connection to 216.34.181.97.
I've tested it on Windows, but it should equally work on *nix systems.

ex0plan
  • 1
  • 1