A little something about everything

internet marketing and website development made simple..

Solution for LOAD DATA INFILE errors on Windows with IIS

Several items that are likely setup incorrectly by default.

First verify you are using the latest thread safe version of php.

in your pnp.ini, verify you have enabled INFILE by uncommenting this line:

mysqli.allow_local_infile = On

(come back to this after everything is running correctly, as it's easier to check without path errors first) For heightened security you can also specify the file you want to allow LOAD DATA INFILE access to, uncomment the next line as well and specify the correct directory.

mysqli.local_infile_directory = "Drive:\path\tmp\assets"

Next verify you have enable INFILE access in your my.ini. You can specify a path or leave it blank to allow all.


Last step!
This is what most matomo on windows users get stuck on. By default, your website is usually running in an IIS AppPool permission setup like it should be. However MySQL runs under NETWORK SERVICE by default. In this case you need to add permissions for NETWORK SERVICE to your  \assets directory like this:

and give it read/write permissions like this:

Once this is done your System Check should be all good assuming you have no other issues to deal with.

HTTP Error 500.0 - Internal Server Error | php-cgi.exe - The FastCGI process exited unexpectedly, Windows Server

IIS 10.0 Detailed Error - 500.0 - Internal Server Error

HTTP Error 500.0 - Internal Server Error

php-cgi.exe - The FastCGI process exited unexpectedly


This happens when you do not have the correct VC++ redistributable installed.

You can check which version VC you need by looking at the downloadable section on php.net, for example:

VS16 corresponds to Visual Studio 2019,
So you will need to download the vc_redist package from Microsoft corresponding to your version and Architecture.

How to solve the F12 Developer Console Error net::ERR_INCOMPLETE_CHUNKED_ENCODING error.

So you open up F12 and see this obscure error:

What now?

In some cases this is caused by browser updates or perhaps server changes like adding gzip support to IIS.

This error in most cases is to to some code not properly closing before another script is executed thus chunking the response.

You should review the code for the page and look for Response.Close(); method. Something like this:

and replace it with a proper Response.End(); method instead.

Now save and reload your page.

IIS Performance Enahancements, Gzip and net::ERR_INCOMPLETE_CHUNKED_ENCODING oh my.

First if you have not yet done so enabling dynamic compression on IIS improves page load speed by about 300% in most cases. To do so you can follow the following steps.

From Server Manager choose "Add Roles and Features"

Now Next on the before you begin page if you have not already checked the box for "Skip this page by default" option previously.

 Leave the default of "Role-Based or feature-based installation" selected and choose Next.

Now expand "Web Server (IIS)", "Web Server", "Performance" and check the box for "Dynamic Content Compression" then choose Next, Next then Install.

Now you're done.

In some cases some older code can cause you issues after doing this. For example some .net code previously written to use Response.Close(); method will toss a net::ERR_INCOMPLETE_CHUNKED_ENCODING error in Chrome and Edge Chromium browsers.

You can solve this with the following method.

How to solve the net::ERR_INCOMPLETE_CHUNKED_ENCODING error.


How to generate a self signed PEM file on windows using IIS.

First if you have not already install the IIS role on your windows system.

Open IIS and choose the top level folder(your server) then choose Server Certificates

Now choose Create Self Signed Certificate from the far right

friendly name should be the DNS name of the device you need to create the pem file for, then choose ok.

Now open the certificate manager on your system, to do this run mmc

File > Add/Remove snap-in

Choose Certificates > Add > Computer account > Next > Local computer > Finish > OK

Now expand the certificates folder you create the cert in, by default this is Personal > Certificates.

right click on the certificate you created and choose all tasks > export > next > No, > next > Base-64 > next > 

pick a file name


Now, you can rename the .cer file to .pem and that's it you're done.