Iwao Dev

気付いたことをメモしています.

この画面は、簡易表示です

IIS

Win10 に IIS と PHP – 6

ASP の処理に時間がかかっていると,

Active Server Pages エラー 'ASP 0113'
スクリプトがタイムアウトしました
/Test/ASP/umpc/mbSearch/MBxSrchR.asp
スクリプトを実行する時間の制限を超えました。この制限時間は、プロパティ Server.ScriptTimeout に新しい値を指定するか、IIS 管理ツールの値を変更することによって変更できます。

管理ツールでの設定は「サイトを選択」-「ASP」-「右クリック」-「機能を開く」.
「サイトを選択」-「ASP」-「右クリック」-「機能を開く」
「動作」-「制限プロパティ」-「スクリプトのタイムアウト」の値を変更する.
「動作」-「制限プロパティ」-「スクリプトのタイムアウト」

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


Win10 に IIS と PHP – 5

DB の場所が変わって「ODBC データ ソース アドミニストレーター」で正しく指定.
動作を確認していると,

Provider エラー '80004005'
エラーを特定できません
/_LIB_/L_LogAcc.asp, 行 224

Win10 IIS Provider エラー '80004005' エラーを特定できません
ADODB.recordset の Open でエラー
サイトの再起動を試したが変わらず.
OS を再起動することでうまく通るようになった.


他にもチェックしていると,

HTTP エラー 500.19 - Internal Server Error
ページに関連する構成データが無効であるため、要求されたページにアクセスできません。
エラー情報の詳細:
モジュール CustomErrorModule
通知 SendResponse
ハンドラー ASPClassic
エラー コード 0x800700b7
構成エラー 一意のキー属性 'fileExtension' が '.imo'に設定されている種類 'mimeMap' の重複コレクション エントリを追加できません
構成ファイル \\?\C:\Users\Public\Documents\web\Test\web.config
要求された URL http://localhost:80/Test/ASP/Default.asp
物理パス C:\Users\Public\Documents\web\Test\ASP\Default.asp
ログオン方法 匿名
ログオン ユーザー 匿名
構成ソース:
5: <staticContent>
6: <mimeMap fileExtension=".imo" mimeType="text/imo" />
7: </staticContent>
詳細情報:
このエラーは、Web サーバーまたは Web アプリケーションの構成ファイルの読み取りに問題があるときに発生します。エラーの原因に関する情報が、イベント ログに記録されている場合があります。
詳細情報の表示 »

HTTP エラー 500.19 - Internal Server Error   ページに関連する構成データが無効であるため、要求されたページにアクセスできません。   ハンドラー ASPClassic   エラー コード 0x800700b7
MINE の設定を外して実行すると,

Microsoft VBScript 実行時エラー エラー '800a01ad'
ActiveX コンポーネントはオブジェクトを作成できません。
/_LIB_/L_LstDir.asp, 行 14

Microsoft VBScript 実行時エラー エラー '800a01ad' ActiveX コンポーネントはオブジェクトを作成できません。
コードの部分を見ると,
set oFSys = Server.CreateObject(“AsFile.FileSys”)
「アプリケーション プール」-「詳細設定」-「32 ビット アプリケーションの有効化」を「True」に.
「アプリケーション プール」-「詳細設定」-「32 ビット アプリケーションの有効化」


他にも,

HTTP エラー 500.19 - Internal Server Error
ページに関連する構成データが無効であるため、要求されたページにアクセスできません。
エラー情報の詳細:
モジュール	   CustomErrorModule
通知	   SendResponse
ハンドラー	   StaticFile
エラー コード	   0x800700b7
構成エラー	   一意のキー属性 'fileExtension' が '.imo'に設定されている種類 'mimeMap' の重複コレクション エントリを追加できません
構成ファイル	   \\?\C:\Users\Public\Documents\web\Test\web.config
要求された URL	   http://localhost:80/Test/iisstart.png
物理パス	   C:\Users\Public\Documents\web\Test\iisstart.png
ログオン方法	   匿名
ログオン ユーザー	   匿名
構成ソース:
   17:         <staticContent>
   18:             <mimeMap fileExtension=".imo" mimeType="text/imo" />
   19:         </staticContent>
詳細情報:
このエラーは、Web サーバーまたは Web アプリケーションの構成ファイルの読み取りに問題があるときに発生します。エラーの原因に関する情報が、イベント ログに記録されている場合があります。
詳細情報の表示 »

MIME の設定がダブっているとうまくない様で,下位の方を削除しようとすると

---------------------------
MIME の種類
---------------------------
この操作の実行中にエラーが発生しました。
詳細: 
ファイル名: \\?\C:\Users\Public\Documents\web\Test\web.config
行番号: 18
エラー: 一意のキー属性 'fileExtension' が '.imo'に設定されている種類 'mimeMap' の重複コレクション エントリを追加できません
---------------------------
OK   
---------------------------

MIME の種類   この操作の実行中にエラーが発生しました。
上位の方から順に削除して対応.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


ポートを指定してのアクセス

引き続き IIS 環境へのアクセスを調べているが…
幾つか調べたことのメモ


IIS 部分を PHP から呼び出せないかと思い見つけたのが file_get_contents
<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>

//www.example.com/ はちゃんと表示できるが,他のサイトなどではうまく表示されないことが多い?


auひかりのルータ Aterm BL190HW の設定を幾つか調べたが,特に影響しているものはなさそう.
ASUS RT-AC86U の設定でいろいろ見ていたら「ポートフォワーディング」が気になった.
試しに DS115j に接続する設定を追加したら,うまく動作する.
外部ポート 8000  内部ポート 80  内部 IP アドレスを 192.168.1.115 に.
http://iwao.synology.me:8000/ でアクセスできる.
RT-AC86U ポートフォワーディングの設定
同様に Win10 IIS も設定したがうまく接続できない.こうなると Win10 の設定か?


Win10 の設定を見直していたら IPv4 の設定の「デフォルトゲートウェイ」がブランクになっていた.
Win10 IIS IPv4 「デフォルトゲートウェイ」の設定
これを正しく設定したらうまく接続できるようになった.
http://iwao.synology.me:8080/

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


IPv6 でのアクセス

テスト用に IIS 環境へ接続できないかと…
LAN 内であれば次の様な指定で可能.
//192.168.1.80:8080/
//win10-ltsc:8080/


ASUS RT-AC86U を追加前は BL190HW のポートマッピング設定で設定していた.
LAN 側ホスト 192.168.0.80  プロトコル TCP  ポート番号 8080
2 重ルータにする前のポートマッピング設定


IPv6 ならそれぞれが指定できると思い試すことに…
指定方法は次のページにあった.
URLで IPv6 のIPアドレスを指定して接続する

DS116  http://[240f:33:c6c7:1:211:32ff:fe7f:75a6]/
DS115j http://[240f:33:c6c7:1:211:32ff:fe5f:e655]/
Win10  http://[240f:33:c6c7:1:241f:8b43:86b9:28de]:8080/
Win 7  http://[240f:33:c6c7:1:855d:191e:86aa:6fc3]/

LAN 内であれば意図した動作になりアクセスできる.
どこかの設定が足りないみたいで WAN からはアクセスできていない.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


Win10 に IIS と PHP – 4

Classic ASP のインストール
Classic ASP は IIS 7.0 と IIS 7.5 に既定ではインストールされない
「インターネットインフォメーションサービス」の以下の項目をチェックしてインストール.
「Web 管理ツール」-「IIS 6 管理互換」-「IIS メタベースおよび IIS 6 構成との互換性」
「World Wide Web サービス」-「アプリケーション開発機能」-「ASP」
Win10 IIS ClassicASP のインストール


そのままではスクリプトのエラーメッセージは表示されない.
An error occurred on the server when processing the URL. Please contact the system administrator.
If you are the system administrator please click here to find out more about this error.
An error occurred on the server when processing the URL.
Classic ASP スクリプトのエラー メッセージはもはや既定では Web ブラウザーに表示されない
Win10 IIS 「ASP」-「デバッグ プロパティ」-「ブラウザへのエラー送信」
これで localhost には表示されるようになる.
Microsoft VBScript 実行時エラー エラー ‘800a01ad’
ActiveX コンポーネントはオブジェクトを作成できません。
/_LIB_/L_Mainte.asp, 行 33
Microsoft VBScript 実行時エラー エラー '800a01ad'  ActiveX コンポーネントはオブジェクトを作成できません。
別の PC からアクセスすると,
サーバー エラー
500 – 内部サーバー エラーです。
検索中のリソースに問題があるため、リソースを表示できません。
localhost からのアクセスの様なエラーメッセージを表示する方法はわからなかった.


「ActiveX コンポーネントはオブジェクトを作成できません」エラーは 32 ビット ActiveX.dll が起動できないため.
「アプリケーション プール」-…-「32 ビット アプリケーションの有効化」を「True」に.
Win10 IIS 「アプリケーション プール」-...-「32 ビット アプリケーションの有効化」
ActiveX.dll が登録されていないと,
Server オブジェクト エラー ‘ASP 0177 : 8007007e’
Server.CreateObject に失敗しました
/_LIB_/L_Mainte.asp, 行 33
登録するには「管理者として実行」した「コマンドプロンプト」などで
RegSvr32 ActiveX.dll
ActiveX.exe は IUSER で起動できるように設定する必要がある.
ActiveX.exe を IUSER で起動できるように設定

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


Win10 に IIS と PHP – 3

どこかに設定があるのかもしれないが,
PHP でのエラーなどのログファイル.
場所は c:\Windows\Temp\ .
Win10 IIS PHP のログファイル
今回テストした PHP のコード

<?php
	$tempfile =             $_FILES['fname']['tmp_name'];
	$filename = './data/' . $_FILES['fname']['name'] ;
	$up_status = false ;
	if (is_uploaded_file($tempfile)) {
		$up_status = move_uploaded_file($tempfile , $filename) ;
		}
	$link	= "" ;
	if ($up_status) {
		$p_info = pathinfo($filename) ;
		$pi_ext = $p_info['extension'] ;
		$bmp_name = $filename . ".bmp" ;
		$to_bmp = FALSE ;
		if  	($pi_ext == "png")  {	$img = imagecreatefrompng ($filename) ;   $to_bmp = imagebmp($img,$bmp_name) ;	}
		else if	($pi_ext == "jpg")  {	$img = imagecreatefromjpeg($filename) ;   $to_bmp = imagebmp($img,$bmp_name) ;	}
		else if ($pi_ext == "bmp")  {	$bmp_name = $filename ;                   $to_bmp = TRUE ;                 	}
		if ($to_bmp) {
			$cmd_to	= ("rsz_bmp.exe") . " " . $bmp_name ;
			exec	($cmd_to,$out,$ret) ;
			}
		if ($ret == 0) {
			$rsz_file = $out[count($out)-1] ;
			$bak_file = $filename . ".bak." . $pi_ext ;
			rename($filename,$bak_file) ;
			$rsz_name = pathinfo($rsz_file)['basename'] ;
			$file_rsz = $p_info['dirname'] . "/" . $rsz_name ;
			rename($rsz_file,$file_rsz) ;
			if    	($pi_ext == "png")  {	$img_bmp = imagecreatefrombmp($file_rsz) ;   imagepng ($img_bmp,$filename) ;	}
			else if	($pi_ext == "jpg")  {	$img_bmp = imagecreatefrombmp($file_rsz) ;   imagejpeg($img_bmp,$filename) ;	}
			else if ($pi_ext == "bmp")  {	copy($file_rsz,$filename) ;                                             	}
			if (!file_exists($filename)) {
				$filename = $file_rsz ;
				}
			}
		if (file_exists($filename)) {
			$link .= "<hr/>" ;
			$link .= "<a href='" ;
			$link .= $filename ;
			$link .= "'>" ;
			$link .= $filename ;
			$link .= "</a>" ;
			$link .= "<br/>" ;
			$link .= "<img src='" ;
			$link .= $filename ;
			$link .= "'>" ;
			}
		}
	?>

rsz_bmp.exe で画像ファイルを 2^n にリサイズし,その結果のファイル名を標準出力に出力する.
画像を出力する imagebmp などはあまり速くない.
同様の PHP を Synology NAS 上で.
https://itl.mydns.jp/Test/tex_pow2/tex_pow2.php
PHP のコードが悪いのか? Synology NAS では DIB から元の画像に戻すのがうまくいかない.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


Win10 に IIS と PHP – 2

「IIS マネージャー」の「サイト」-「右クリック」で「Web サイトの追加…」.
手順は Win7 の時と同様
「ディレクトリの参照」を「有効」に.


PHP で BMP を作成するコードを検索すると,imagebmp というのがあった.
ここにあったサンプルを /Test/php_gd/make_bmp.php として保存.
呼び出されると php.bmp が生成される.


以下の動作は Synology NAS を使用しています.
Win10 ITSC Test php_gd make_bmp.php

コードを一部修正して現在時刻の画像を作成しています.
上のブラウザの画像をクリックすると現在時刻の画像ファイルを更新します.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


Win10 に IIS と PHP のインストール

Win10 環境で PHP を動作させるためのインストールなどの手順
今回使用したのは Win10 LTSC
通常版に比べて不要なものが入らないのでこれを選択.


以前 Win7 環境に PHP を入れた時の手順
IIS での PHP Web サイトの構成
IIS の有効化.CGI が必要.
Win10 IIS のインストール
IIS の動作の確認.
Win10 localhost にアクセス
Win10 他の PC から IP でアクセス
//win10-ltsc でアクセス
Web PI のインストール.
Web PI を起動して PHP をインストール.
Web PI で PHP の追加
何故かエラー?
PHP Managet for IIS は複数バージョンの PHP を切替えるツールの様で今回は無くても良いか?
Web PI で PHP インストールでエラー
php -v や php -r “phpinfo();” で確認すると動作はしている.
Win10 IIS  php -v
次の内容を php として保存し,ブラウザで開く. <?php phpinfo(); ?>
Win10 LTSC phpinfo()

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


データ送信 htm , php

html で複数のファイルを指定,php でそれを move_upload_file .


up_data.htm


<form enctype="multipart/form-data" action="up_data.php" method="POST">
    upload file:<br/>
    <input name="file_1" type="file" /><br/>
    <input name="file_2" type="file" /><br/>
    <input type="submit" value="send" />
    </form>


up_data.php


<?php
    if (!file_exists("./data")) {
        mkdir("./data") ;
        }
    foreach ($_FILES as $keys => $values) {
        $file_e = $values ;
        $tempfile =                $file_e[‘tmp_name’] ;
        $filename = ‘./data/’ .  $file_e[‘name’] ;
        if (is_uploaded_file($tempfile)) {
            move_uploaded_file($tempfile,$filename) ;
            }
        }
    $scan_f = scandir("./data") ;
    foreach ($scan_f as $key => $value) {
        echo $value . "<br/>\r\n" ;
        }
    ?>


この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


IIS+PHP-3

さらに次の様な exe の起動.
   exec (change_sp(“./imotowgl”)) ;
あまり関係ないが php と同じ場所に imotowgl と IMOtoWGL.exe が存在する.


この指定では,DS115j ではうまく動作しているが IIS 環境では起動できないみたい.
次の様に exe を付けるか,大文字などファイル名を正しく指定する必要があるみたい.
   exec (change_sp(“./imotowgl.exe”)) ;
   exec (change_sp(“./IMOtoWGL”)) ;
change_exe 関数を追加することに.


php の動作を確認していて,何かうまく動作しない.
と思ったら,「既定のドキュメント」の設定.


change_exe は,
  function change_exe ($path) {
     $exe = $path ;
     if (DIRECTORY_SEPARATOR == ‘/’) { $exe = strtolower($exe) ; }
     else { $exe = $exe . “.exe” ; }
     $exe = str_replace (“/”,DIRECTORY_SEPARATOR,$exe) ;
     return $exe ;
     }


さらに実行ファイルの場所も,相対位置ではなく change_cmd 内で求める様に変更.
 <?php
   include ($_SERVER[“DOCUMENT_ROOT”] . “/…/i_lib.php”) ;
 // exec (change_sp(“./bin/DrawNow”)) ;
   exec (change_cmd(“DrawNow”)) ;
   readfile(“./drawnow.htm”) ;
   ?>
動作は,DrawNow

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ



    top

    %d人のブロガーが「いいね」をつけました。