May Sale! All accounts are 40% off this week.

Spurs2's avatar

How to use Internet Information Services (IIS) as web development server for Laravel 9 project

I have looked everywhere trying to get this working but I am encountered with old and deprecated solutions does anyone currently do web development on IIS using Laravel 9 that can show me how this is done? If I'm not making sense its cause I'm pretty new to this so sorry.

0 likes
7 replies
vincent15000's avatar

It's not recommended to use IIS as server in production for Laravel, but why not in development.

However I suggest you to use Laragon.

https://laragon.org/

1 like
eboansi's avatar

Specifically what issue are you encountering. IIS is a good enough webserver and should be able handle PHP applications.

  1. Is the issue related to setup with the webserver and the application folder
  2. Is the issue related to your web.config
  3. Is the issue related to missing PHP dlls files

Please try to be specific as possible. Thank you

1 like
Spurs2's avatar

@eboansi Hello thanks for the response!

Its a all three, I set fastCgi module mapping to my php-cgi.exe , also set default document to be index.php, created a new website and set the path to public directory in Laravel directory. There is vey few information i could find on how to do this and they are using php 7 with old Laravel versions. i go from getting errors regarding folder/file not existing to "cant append permission" errors, which i give the permissions and it still doesn't work.

I just need to directed towards the right direction.

eboansi's avatar

Hi @spurs2 I understand you are using the latest Laravel 9 and possibly the latest PHP However the set up should not be different to set it up on IIS with PHP 7 and older Laravel versions. So the information you find regarding PHP 7 should also apply

ok back to the specific error you received "cant append permission" Does this show on the browser as a laravel error? or you see this on the Windows file explorer.

If is a laravel error then possibly you need to make sure the user IUSR have access to the storage folder.

I was able install a fresh Laravel 9 application on IIS and see the start page. My system = IIS 10, Windows, PHP 8.2, Composer 2.3

Steps

1 - Open a terminal then cd into "C:\inetpub\wwwroot" iis application folder

2 - composer create-project laravel/laravel spurs-app

3 - Go to IIS navigate to default sites and create a virtual directory to point to your new app C:\inetpub\wwwroot\spurs-app\public

4 - Add a web.config inside the public folder

You can refer to this for web.config details https://laracasts.com/discuss/channels/servers/iis-8-laravel-webconfig

If the issue persist, try and paste the error text for better debugging.

1 like
Spurs2's avatar

Thank you so much for the response, I tried the steps the homepage is displayed when I use the Laravel server but as soon as run the IIS server i get this error. I have looked around for other web.config files that might work but I am still getting the same errors.

HTTP Error 500.19 - Internal Server Error The requested page cannot be accessed because the related configuration data for the page is invalid.

Detailed Error Information: Module IIS Web Core Notification Unknown Handler Not yet determined Error Code 0x8007000d Config Error Config File \?\C:\inetpub\wwwroot\spurst\public\web.config Requested URL http://localhost:80/ Physical Path Logon Method Not yet determined Logon User Not yet determined

Config Source: -1: 0:

Spurs2's avatar

I got it to work it had something to do with the rewrite module for IIS

1 like

Please or to participate in this conversation.