Mysql – PHPMyAdmin – 500 Internal Server Error – Windows Server 2012 R2 – IIS 8

iis-8MySQLphp7phpmyadminwindows-server-2012-r2

I have Windows Server 2012 R2 and IIS 8 as a Web Server and Operating System.
I installed PHP 7 and it works great I could view the index.php file when created. I also installed MySQL Community Server on the system and that also works. Although when I installed phpMyAdmin to manage the MySQL database I get a 500 Internal Server Error. I configured the config.inc.php.ini file with the proper IP address for the host and enable some basic required settings but I don't know why I get a 500 Internal Server Error when I try to open the Web Site for phpMyAdmin and the error is not specific. Is there some type of why to trouble shoot this by viewing more specific details regarding the issue like enable a error log or something that could be useful to see what the issue is.

Or does anyone else know some other setting configurations that need to be set to properly view the phpMyAdmin web site to manage the MySQL database. Is it missing settings that are specific to the database and that's why it can not access the database and I get a 500 Internal Server Error.

How do I know what ip address to use for the MySQL Community Server I use the CLI for MySQL and the status command to view the settings for the MySQL database. it looks like root@localhost is what I see in the status info as the user. So could this be the issue the wrong IP address configured as the host for phpMyAdmin in the config.inc.php.ini file. Could a wrong ip address cause a 500 internal server error?

Best Answer

I found a solution to the 500 Internal Server Error for the phpMyAdmin. Its as simple as checking the php.ini file to make sure that all of the following features are enabled:

http://docs.phpmyadmin.net/en/latest/require.html

PHP:

1) You need PHP 5.5.0 or newer, with session support, the Standard PHP Library (SPL) extension, JSON support, and the mbstring extension (see mbstring).

2) To support uploading of ZIP files, you need the PHP zip extension.

3) You need GD2 support in PHP to display inline thumbnails of JPEGs (“image/jpeg: inline”) with their original aspect ratio. When using the cookie authentication (the default), the openssl extension is strongly suggested.

4) To support upload progress bars, see 2.9 Seeing an upload progress bar.

5) To support XML and Open Document Spreadsheet importing, you need the libxml extension.

6) To support reCAPTCHA on the login page, you need the openssl extension.

7) To support displaying phpMyAdmin’s latest version, you need to enable allow_url_open in your php.ini or to have the curl extension.

8) Performance suggestion: install the ctype extension.

I used PHP 7.0 and it works great!

Most of the requirements are enabled by default with the version of PHP 7.0 although some were manual enabled. I recommend double checking with php code to ensure that each of the required settings are enabled also if its says it comes enabled by default don't believe it double check with php code to ensure that each of the required settings are enabled.

I noticed that allow_url_open was not found in my php.ini file so I used curl which all you need to do is uncomment curl in the php.ini file. Although if you look up how to enable curl it may say more that just uncommenting it from the php.ini file if you prefer go ahead and do more that just that.

http://php.net/manual/en/book.curl.php

Make sure the database settings are enabled like MySQL settings within php.ini this will ensure that database settings are enabled so that phpMyAdmin will access the database.

I also want to suggest that after this is all done you may get an error regarding session state which means you need to specify a directory to store session state data which is in the php.ini file located as

;session.save_path = "/tmp"

change it to:

session.save_path = "C:\tmp"

make sure to specifiy an exact location with the drive letter and also make sure access permission is granted to all users and the web server.

That should do it that's all that got me up and running from this 500 Internal Server Error.

Uncomment all of these from php.ini remove ;

extension_dir = "C:\PHP\ext" ----> Specify the location of the php extensions directory.

extension=php_pdo_mysql.dll extension=php_openssl.dll extension=php_mysqli.dll extension=php_mbstring.dll extension=php_gd2.dll extension=php_curl.dll

Just make sure you have PHP working first. Than move onto MySQL than onto phpMyAdmin.