環境
OS : Windows10 : Windows NT 10.0; Win64; x64
IIS : Microsoft-IIS/10.0
PHP : 5.6.36 : VC11 x86 Non Thread Safe
※ appcmd.exe は C:\Windows\System32\inetsrv にあります
( インターネット インフォメーション サービス (IIS) マネージャー のショートカットのリンク先の InetMgr.exe と同じ場所 )
IIS の基本設定
Windows10 IIS の設定
php.ini の設定として重要なのは、最初は以下の3つです。
cgi.force_redirect = 0
date.timezone = Asia/Tokyo
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
php.ini の内容を確認する為に、info.php を作成して以下のようにします。
php.ini を変更して appcmd.exe で反映させる
▼ php.ini の変更は、アプリケーションプールの『リサイクル』を実行する必要があります
これを appcmd.exe で実行するには以下のようなバッチファイルで可能です。
※ 管理者権限で実行する必要があります
setlocal
@path=%path%;C:\Windows\System32\inetsrv
appcmd recycle APPPOOL "DefaultAppPool"
endlocal
オプションで変更した php.ini の内容
default_charset = "shift_jis"
short_open_tag = On
include_path = ".;c:\php\includes"
extension_dir = "ext"
allow_url_include = On
extension=php_com_dotnet.dll
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_sqlite3.dll
sendmail_path = "C:\pleiades\xampp\sendmail\sendmail.exe"
session.gc_maxlifetime = 5400
appcmd.exe で アプリケーションの追加
新しいPCに保存しておいた環境を構築する場合、一括で作成できます
※ 管理者権限で実行する必要があります
setlocal
@path=%path%;C:\Windows\System32\inetsrv
appcmd add APP /site.name:"Default Web Site" /path:/ab /physicalPath:"C:\user\lightbox\web\system\webhost\ab"
appcmd add APP /site.name:"Default Web Site" /path:/ad /physicalPath:"C:\user\lightbox\web\system\webhost\ad"
appcmd add APP /site.name:"Default Web Site" /path:/admin /physicalPath:"C:\user\lightbox\web\system\webhost\admin"
appcmd add APP /site.name:"Default Web Site" /path:/misc /physicalPath:"C:\user\lightbox\web\system\webhost\misc"
endlocal
その他の appcmd.exe での処理
▼ 停止
appcmd stop SITE "Default Web Site"
▼ 開始
appcmd start SITE "Default Web Site"
▼ ディリクトリの参照を可能にする
appcmd set config "Default Web Site" -section:system.webServer/directoryBrowse /enabled:"True"
参考記事( Microsoft TechNet )
AppCmd.exe の使用の開始
ディレクトリの参照