Server

1.1 My server is crashing each time a specific action is required or phpMyAdmin sends a blank page or a page full of cryptic characters to my browser, what can I do?

Try to set the $cfg['OBGzip'] directive to false in your config.inc.php file and the zlib.output_compression directive to Off in your php configuration file.

1.2 My Apache server crashes when using phpMyAdmin.

You should first try the latest versions of Apache (and possibly MySQL). If your server keeps crashing, please ask for help in the various Apache support groups.

1.3 (withdrawn).

1.4 Using phpMyAdmin on IIS, I'm displayed the error message: "The specified CGI application misbehaved by not returning a complete set of HTTP headers …".

You just forgot to read the install.txt file from the PHP distribution. Have a look at the last message in this PHP bug report #12061 from the official PHP bug database.

1.5 Using phpMyAdmin on IIS, I'm facing crashes and/or many error messages with the HTTP.

This is a known problem with the PHP ISAPI filter: it's not so stable. Please use instead the cookie authentication mode.

1.6 I can't use phpMyAdmin on PWS: nothing is displayed!

This seems to be a PWS bug. Filippo Simoncini found a workaround (at this time there is no better fix): remove or comment the DOCTYPE declarations (2 lines) from the scripts libraries/Header.class.php and index.php.

1.7 How can I gzip a dump or a CSV export? It does not seem to work.

This feature is based on the gzencode() PHP function to be more independent of the platform (Unix/Windows, Safe Mode or not, and so on). So, you must have Zlib support (--with-zlib).

1.8 I cannot insert a text file in a table, and I get an error about safe mode being in effect.

Your uploaded file is saved by PHP in the "upload dir", as defined in php.ini by the variable upload_tmp_dir (usually the system default is /tmp). We recommend the following setup for Apache servers running in safe mode, to enable uploads of files while being reasonably secure:

1.9 (withdrawn).

1.10 I'm having troubles when uploading files with phpMyAdmin running on a secure server. My browser is Internet Explorer and I'm using the Apache server.

As suggested by "Rob M" in the phpWizard forum, add this line to your httpd.conf:

SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown 

It seems to clear up many problems between Internet Explorer and SSL.

1.11 I get an 'open_basedir restriction' while uploading a file from the import tab.

Since version 2.2.4, phpMyAdmin supports servers with open_basedir restrictions. However you need to create temporary directory and configure it as $cfg['TempDir']. The uploaded files will be moved there, and after execution of your SQL commands, removed.

1.12 I have lost my MySQL root password, what can I do?

phpMyAdmin does authenticate against MySQL server you're using, so to recover from phpMyAdmin password loss, you need to recover at MySQL level.

The MySQL manual explains how to reset the permissions.

If you are using MySQL server installed by your hosting provider, please contact their support to recover the password for you.

1.13 (withdrawn).

1.14 (withdrawn).

1.15 I have problems with mysql.user column names.

In previous MySQL versions, the User and Password columns were named user and password. Please modify your column names to align with current standards.

1.16 I cannot upload big dump files (memory, HTTP or timeout problems).

Starting with version 2.7.0, the import engine has been re-written and these problems should not occur. If possible, upgrade your phpMyAdmin to the latest version to take advantage of the new import features.

The first things to check (or ask your host provider to check) are the values of max_execution_time, upload_max_filesize, memory_limit and post_max_size in the php.ini configuration file. All of these settings limit the maximum size of data that can be submitted and handled by PHP. Please note that post_max_size needs to be larger than upload_max_filesize. There exist several workarounds if your upload is too big or your hosting provider is unwilling to change the settings:

1.17 Which Database versions does phpMyAdmin support?

For MySQL, versions 5.5 and newer are supported. For older MySQL versions, our Downloads page offers older phpMyAdmin versions (which may have become unsupported).

For MariaDB, versions 5.5 and newer are supported.

1.17a I cannot connect to the MySQL server. It always returns the error message, "Client does not support authentication protocol requested by server; consider upgrading MySQL client"

You tried to access MySQL with an old MySQL client library. The version of your MySQL client library can be checked in your phpinfo() output. In general, it should have at least the same minor version as your server - as mentioned in 1.17 Which Database versions does phpMyAdmin support?. This problem is generally caused by using MySQL version 4.1 or newer. MySQL changed the authentication hash and your PHP is trying to use the old method. The proper solution is to use the mysqli extension with the proper client library to match your MySQL installation. More information (and several workarounds) are located in the MySQL Documentation.

1.18 (withdrawn).

1.19 I can't run the "display relations" feature because the script seems not to know the font face I'm using!

The TCPDF library we're using for this feature requires some special files to use font faces. Please refers to the TCPDF manual to build these files.

1.20 I receive an error about missing mysqli and mysql extensions.

To connect to a MySQL server, PHP needs a set of MySQL functions called "MySQL extension". This extension may be part of the PHP distribution (compiled-in), otherwise it needs to be loaded dynamically. Its name is probably mysqli.so or php_mysqli.dll. phpMyAdmin tried to load the extension but failed. Usually, the problem is solved by installing a software package called "PHP-MySQL" or something similar.

There are currently two interfaces PHP provides as MySQL extensions - mysql and mysqli. The mysqli is tried first, because it's the best one.

This problem can be also caused by wrong paths in the php.ini or using wrong php.ini.

Make sure that the extension files do exist in the folder which the extension_dir points to and that the corresponding lines in your php.ini are not commented out (you can use phpinfo() to check current setup):

[PHP]  ; Directory in which the loadable extensions (modules) reside. extension_dir = "C:/Apache2/modules/php/ext" 

The php.ini can be loaded from several locations (especially on Windows), so please check you're updating the correct one. If using Apache, you can tell it to use specific path for this file using PHPIniDir directive:

LoadFile "C:/php/php5ts.dll" LoadModule php5_module "C:/php/php5apache2_2.dll" <IfModule php5_module>     PHPIniDir "C:/PHP"     <Location>        AddType text/html .php        AddHandler application/x-httpd-php .php     </Location> </IfModule> 

In some rare cases this problem can be also caused by other extensions loaded in PHP which prevent MySQL extensions to be loaded. If anything else fails, you can try commenting out extensions for other databses from php.ini.

1.22 I don't see the "Location of text file" field, so I cannot upload.

This is most likely because in php.ini, your file_uploads parameter is not set to "on".

1.23 I'm running MySQL on a Win32 machine. Each time I create a new table the table and column names are changed to lowercase!

This happens because the MySQL directive lower_case_table_names defaults to 1 (ON) in the Win32 version of MySQL. You can change this behavior by simply changing the directive to 0 (OFF): Just edit your my.ini file that should be located in your Windows directory and add the following line to the group [mysqld]:

set-variable = lower_case_table_names=0 

Note

Forcing this variable to 0 with -lower-case-table-names=0 on a case-insensitive filesystem and access MyISAM tablenames using different lettercases, index corruption may result.

Next, save the file and restart the MySQL service. You can always check the value of this directive using the query

SHOW VARIABLES LIKE 'lower_case_table_names'; 

1.24 (withdrawn).

1.25 I am running Apache with mod_gzip-1.3.26.1a on Windows XP, and I get problems, such as undefined variables when I run a SQL query.

A tip from Jose Fandos: put a comment on the following two lines in httpd.conf, like this:

# mod_gzip_item_include file \.php$ # mod_gzip_item_include mime "application/x-httpd-php.*" 

as this version of mod_gzip on Apache (Windows) has problems handling PHP scripts. Of course you have to restart Apache.

1.26 I just installed phpMyAdmin in my document root of IIS but I get the error "No input file specified" when trying to run phpMyAdmin.

This is a permission problem. Right-click on the phpmyadmin folder and choose properties. Under the tab Security, click on "Add" and select the user "IUSR_machine" from the list. Now set their permissions and it should work.

1.27 I get empty page when I want to view huge page (eg. db_structure.php with plenty of tables).

This was caused by a PHP bug that occur when GZIP output buffering is enabled. If you turn off it (by $cfg['OBGzip'] in config.inc.php), it should work. This bug will has been fixed in PHP 5.0.0.

1.28 My MySQL server sometimes refuses queries and returns the message 'Errorcode: 13'. What does this mean?

This can happen due to a MySQL bug when having database / table names with upper case characters although lower_case_table_names is set to 1. To fix this, turn off this directive, convert all database and table names to lower case and turn it on again. Alternatively, there's a bug-fix available starting with MySQL 3.23.56 / 4.0.11-gamma.

1.29 When I create a table or modify a column, I get an error and the columns are duplicated.

It is possible to configure Apache in such a way that PHP has problems interpreting .php files.

The problems occur when two different (and conflicting) set of directives are used:

SetOutputFilter PHP SetInputFilter PHP 

and

AddType application/x-httpd-php .php 

In the case we saw, one set of directives was in /etc/httpd/conf/httpd.conf, while the other set was in /etc/httpd/conf/addon-modules/php.conf. The recommended way is with AddType, so just comment out the first set of lines and restart Apache:

#SetOutputFilter PHP #SetInputFilter PHP 

1.30 I get the error "navigation.php: Missing hash".

This problem is known to happen when the server is running Turck MMCache but upgrading MMCache to version 2.3.21 solves the problem.

1.31 Which PHP versions does phpMyAdmin support?

Since release 4.5, phpMyAdmin supports only PHP 5.5 and newer. Since release 4.1 phpMyAdmin supports only PHP 5.3 and newer. For PHP 5.2 you can use 4.0.x releases.

PHP 7 is supported since phpMyAdmin 4.6, PHP 7.1 is supported since 4.6.5, PHP 7.2 is supported since 4.7.4.

HHVM is supported up to phpMyAdmin 4.8.

Since release 5.0, phpMyAdmin supports only PHP 7.1 and newer.

1.32 Can I use HTTP authentication with IIS?

Yes. This procedure was tested with phpMyAdmin 2.6.1, PHP 4.3.9 in ISAPI mode under IIS 5.1.

  1. In your php.ini file, set cgi.rfc2616_headers = 0
  2. In Web Site Properties -> File/Directory Security -> Anonymous Access dialog box, check the Anonymous access checkbox and uncheck any other checkboxes (i.e. uncheck Basic authentication, Integrated Windows authentication, and Digest if it's enabled.) Click OK.
  3. In Custom Errors, select the range of 401;1 through 401;5 and click the Set to Default button.

See also

RFC 2616

1.33 (withdrawn).

1.34 Can I directly access a database or table pages?

Yes. Out of the box, you can use a URL like http://server/phpMyAdmin/index.php?server=X&db=database&table=table&target=script. For server you can use the server number which refers to the numeric host index (from $i) in config.inc.php. The table and script parts are optional.

If you want a URL like http://server/phpMyAdmin/database[/table][/script], you need to do some additional configuration. The following lines apply only for the Apache web server. First, make sure that you have enabled some features within the Apache global configuration. You need Options SymLinksIfOwnerMatch and AllowOverride FileInfo enabled for directory where phpMyAdmin is installed and you need mod_rewrite to be enabled. Then you just need to create the following .htaccess file in root folder of phpMyAdmin installation (don't forget to change directory name inside of it):

RewriteEngine On RewriteBase /path_to_phpMyAdmin RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&table=$2&target=$3 [R] RewriteRule ^([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&target=$2 [R] RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?db=$1&table=$2 [R] RewriteRule ^([a-zA-Z0-9_]+)$ index.php?db=$1 [R] 

Changed in version 5.1.0: Support for using the target parameter was removed in phpMyAdmin 5.1.0. Use the route parameter instead.

1.35 Can I use HTTP authentication with Apache CGI?

Yes. However you need to pass authentication variable to CGI using following rewrite rule:

RewriteEngine On RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L] 

1.36 I get an error "500 Internal Server Error".

There can be many explanations to this and a look at your server's error log file might give a clue.

1.38 Can I use phpMyAdmin on a server on which Suhosin is enabled?

Yes but the default configuration values of Suhosin are known to cause problems with some operations, for example editing a table with many columns and no primary key or with textual primary key.

Suhosin configuration might lead to malfunction in some cases and it can not be fully avoided as phpMyAdmin is kind of application which needs to transfer big amounts of columns in single HTTP request, what is something what Suhosin tries to prevent. Generally all suhosin.request.*, suhosin.post.* and suhosin.get.* directives can have negative effect on phpMyAdmin usability. You can always find in your error logs which limit did cause dropping of variable, so you can diagnose the problem and adjust matching configuration variable.

The default values for most Suhosin configuration options will work in most scenarios, however you might want to adjust at least following parameters:

To further improve security, we also recommend these modifications:

You can also disable the warning using the $cfg['SuhosinDisableWarning'].

1.39 When I try to connect via https, I can log in, but then my connection is redirected back to http. What can cause this behavior?

This is caused by the fact that PHP scripts have no knowledge that the site is using https. Depending on used webserver, you should configure it to let PHP know about URL and scheme used to access it.

For example in Apache ensure that you have enabled SSLOptions and StdEnvVars in the configuration.

1.41 When I view a database and ask to see its privileges, I get an error about an unknown column.

The MySQL server's privilege tables are not up to date, you need to run the mysql_upgrade command on the server.

1.42 How can I prevent robots from accessing phpMyAdmin?

You can add various rules to .htaccess to filter access based on user agent field. This is quite easy to circumvent, but could prevent at least some robots accessing your installation.

RewriteEngine on  # Allow only GET and POST verbs RewriteCond %{REQUEST_METHOD} !^(GET|POST)$ [NC,OR]  # Ban Typical Vulnerability Scanners and others # Kick out Script Kiddies RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^.*(libwww-perl|curl|wget|python|nikto|wkito|pikto|scan|acunetix).* [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner).* [NC,OR]  # Ban Search Engines, Crawlers to your administrative panel # No reasons to access from bots # Ultimately Better than the useless robots.txt # Did google respect robots.txt? # Try google: intitle:phpMyAdmin intext:"Welcome to phpMyAdmin *.*.*" intext:"Log in" -wiki -forum -forums -questions intext:"Cookies must be enabled" RewriteCond %{HTTP_USER_AGENT} ^.*(AdsBot-Google|ia_archiver|Scooter|Ask.Jeeves|Baiduspider|Exabot|FAST.Enterprise.Crawler|FAST-WebCrawler|www\.neomo\.de|Gigabot|Mediapartners-Google|Google.Desktop|Feedfetcher-Google|Googlebot|heise-IT-Markt-Crawler|heritrix|ibm.com\cs/crawler|ICCrawler|ichiro|MJ12bot|MetagerBot|msnbot-NewsBlogs|msnbot|msnbot-media|NG-Search|lucene.apache.org|NutchCVS|OmniExplorer_Bot|online.link.validator|psbot0|Seekbot|Sensis.Web.Crawler|SEO.search.Crawler|Seoma.\[SEO.Crawler\]|SEOsearch|Snappy|www.urltrends.com|www.tkl.iis.u-tokyo.ac.jp/~crawler|SynooBot|crawleradmin.t-info@telekom.de|TurnitinBot|voyager|W3.SiteSearch.Crawler|W3C-checklink|W3C_Validator|www.WISEnutbot.com|yacybot|Yahoo-MMCrawler|Yahoo\!.DE.Slurp|Yahoo\!.Slurp|YahooSeeker).* [NC] RewriteRule .* - [F] 

1.43 Why can't I display the structure of my table containing hundreds of columns?

Because your PHP's memory_limit is too low; adjust it in php.ini.

1.44 How can I reduce the installed size of phpMyAdmin on disk?

Some users have requested to be able to reduce the size of the phpMyAdmin installation. This is not recommended and could lead to confusion over missing features, but can be done. A list of files and corresponding functionality which degrade gracefully when removed include: