.htaccess での upload_max_filesize や php.ini での upload_tmp_dir 、ini_set() 関数での memory_limit の指定など、それぞれの PHP ディレクティブには設定方法が規定されており、モードと呼ばれるカテゴリーで分類され、それぞれのモードで設定可能な方法が定められている。

モードには以下の種類がある。

モード意味
PHP_INI_USERユーザースクリプト(ini_set()関数など)または Windows レジストリで設定可能なエントリ。
.user.ini でも設定可能。
PHP_INI_PERDIRphp.ini、.htaccess、httpd.conf あるいは .user.ini で設定可能なエントリ。
PHP_INI_SYSTEMphp.ini または httpd.conf で設定可能なエントリ。
PHP_INI_ALLどこでも設定可能なエントリ。
https://www.php.net/manual/ja/configuration.changes.modes.php

Webサーバー(Apache、IIS)により使用できる設定ファイルが異なるが、設定ファイルには以下の種類がある。

設定ファイル区分影響範囲備考
php.iniPHP全体
httpd.confApache全体
.htaccessApacheディレクトリ単位
web.configIISディレクトリ単位
.user.iniPHPディレクトリ単位PHP 5.3.0 以降
ini_set()PHPスクリプトレベル
https://qiita.com/naente/items/0d22b45a3c6e2ecfcd33

個人的に IIS サーバーを触ったことがないため、調べるまで知らなかったのだが、IIS サーバーには .htaccess がないため、web.config ファイルを使用する必要があることに注意する。

例えば PHP_INI_PERDIR モードのディレクティブを変更する場合
よくある Apache サーバの場合は .htaccess や httpd.conf を使用できるが Windows 上で稼働している IIS サーバの場合は web.config を使用して設定を行う必要がある
または .user.ini を使用した PHP 側での変更も可能

https://qiita.com/naente/items/0d22b45a3c6e2ecfcd33