0
votes

New Windows 2016 install. Copied Wordpress site and database and set up like previous install on Windows 2012.

HTTP Error 500.0 - Internal Server Error Most likely causes:

IIS received the request; however, an internal error occurred during the processing of the request. The root cause of this error depends on which module handles the request and what was happening in the worker process when this error occurred.

IIS was not able to access the web.config file for the Web site or application. This can occur if the NTFS permissions are set incorrectly.

IIS was not able to process configuration for the Web site or application.

The authenticated user does not have permission to use this DLL.

The request is mapped to a managed handler but the .NET Extensibility Feature is not installed.

Detailed Error Information: Module CgiModule Notification ExecuteRequestHandler Handler FastCGI Error Code 0x00000000 Requested URL https://xxxxx.com:443/index.php (Do you need the domain name?) Physical Path C:\inetpub\wwwroot\SKYR\index.php Logon Method Anonymous Logon User Anonymous

Authenticated users and iis_iusrs on folder.

Would the PHPINFO readout be helpful? If so which parts? C:\Program Files (x86)\iis express\PHP\v7.4\php.ini

MySQL80 .NET 4.6.1 IIS Application pool using .NET CLR v4.030319 - Integrated

web.config (copied from 2012 install) - SSL is installed and working correctly:

<pre>
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
     <system.webServer>
      <rewrite>
      <rules>
        <rule name="Force non-WWW" enabled="true" stopProcessing="true">
        <match url="(.*)" />
        <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" />
        </conditions>
        <action type="Redirect" url="https://{C:2}/{R:1}" appendQueryString="true" />
        </rule>
            <rule name="WordPress: https://xxxxx.com" patternSyntax="Wildcard">
                <match url="*" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                <action type="Rewrite" url="index.php" />
            </rule></rules>
       </rewrite>
      <httpErrors errorMode="Detailed" />
     </system.webServer>
    </configuration>   
</pre>

No modifications to anything - co-lo hosting set up everything. I'm not a server expert but have access and can follow directions.

1
A 500 error is a generic error message and covers pretty much every single thing that can go wrong with a PHP script. Check your server error logs to find out the exact error message. - aynber
Which logs would be most effective to find this error? I can't find an entry at the time I browse this site on any log. - dcass
I'm not familiar with IIS, so I could not tell you. stackoverflow.com/questions/27713763/… might help - aynber
Is your issue solved? If your issue is solved then I request you to mark the helpful suggestion as an answer. This will help other people who face the same issue. - Jalpa Panchal

1 Answers

0
votes

first, create phpinfo.php under the default site folder path. and browse the page and get the PHP installed path and version.

enter image description here

Open the command prompt and go-to PHP binary folder. In this demo, it is C:\Program Files\PHP\v7.3 folder.

Type the below command to view the available modules in the PHP.

php –m

If PHP dependencies are installed correctly it will show the list of available modules in PHP or it will show the error like below.

enter image description here

It looks like Visual C++ is missing on the server. Google the VC++ and install it.

install Wordpress by using Web platform installer.

make sure you install iis cgi feature.

assign iis_iusrs and iusr permission to the site folder.

reference links:

https://docs.microsoft.com/en-us/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis