IIS(Windows)

[PHP]IIS 7.5でFlushが効かない

Windows系サーバはPHPでFlushさせようと思っても、処理が完了するまで待っちゃうのがデフォルト動作っぽい。
それをなおすには、C:\Windows\System32\inetsrv\config\applicationHost.configを修正する。
このファイルを修正するのは、FastCGIが最初から入っているサーバ。(2003とかはNG)

FastCGIをマッピングしている行を探して
-----こんなん------------------------->
<add name="php_via_fastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\php-5.5.12\php-cgi.exe" resourceType="Either">
<-----こんなん-------------------------

responseBufferLimit="0"を追加する。

-----追加後------------------------->
<add name="php_via_fastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\php-5.5.12\php-cgi.exe" resourceType="Either" responseBufferLimit="0" />
<-----追加後-------------------------

Windows共有フォルダにPHPでfailed to open stream: Invalid argument

Windows共有フォルダに対して、ファイルをcopyしたいときは、の手順

# ためした環境はIIS6なので、IIS7だとちょっとちがうかもしれない。

■ フォルダ作成
・共有にするフォルダつくって、共有用アクセス権よみかき可能設定
・セキュリティの方のアクセス権もよみかき可能設定

■ BATファイル実行用設定
c:\windows\system32\cmd.exeのセキュリティに、IIS実行ユーザに対して実行権限を付与

■ BATファイル用意

NET USE [共有フォルダUNCパス] /DELETE (←いらないかも)
NET USE [共有フォルダUNCパス] [パスワード] /USER:[共有先PC名]\[ユーザ名]
copy /Y %1 %2

■ php

$fp = fopen([共有フォルダUNCパス] . "aaa.txt", "w");
fwrite($fp, "sample");
fclose($fp);

exec("cmd.exe /c copy.bat [コピー元ファイル名] [共有フォルダUNCパス", $output, $status);


ざっくりメモ書き。

その他のカテゴリー

最近のトラックバック

2017年2月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28        
無料ブログはココログ