ApachePHPSQLServerWindows ServerWindows7パソコンのこと

Windows7 Apache2.4.4 PHP5.4.22 SQL Server 2008R2接続 開発環境構築について

1 Mins read

■環境クライアント
Windows7(x64)
LAMPP 1.8.2(x86)
UTF-8

■接続先サーバー
Windows Server 2008R2(x64)
Microsoft SQL Server 2008 (SP3) – 10.0.5500.0 (X64)
UTF-8

■クライアント環境 SQL Server Native Client

[MicrosoftR SQL ServerR 2012 SP1 用 Feature Pack]から
[JPN\x64\sqlncli.msi] Or [JPN\x86\sqlncli.msi]をダウンロードする。

クライアントOSの環境に合わせる。今回はWindow7x64なので場合は[JPN\x64\sqlncli.msi]をインストールする。

また、接続先はSQL Server 2008R2だが下位互換があるため、最新版の2012用を使用する。

http://www.microsoft.com/ja-jp/download/details.aspx?id=35580

■クライアント環境 Drivers for PHP for SQL Server

Microsoft Drivers 3.0 for PHP for SQL Server

今回は
・PHP5.4系
・SQL Server 2008R2
・Native Client 2012用
なので、「Microsoft Drivers 3.0 for PHP for SQL Server」を使用する。
環境により「Microsoft Drivers 2.0 for PHP for SQL Server」と使い分けること。

以下から、ダウンロードしてくる
http://www.microsoft.com/en-us/download/details.aspx?id=20098

回答後のファイルの中からPHP5.4用のextensionを使用する

PHPのスレッドセーフ Or Noneスレッドセーフにより
「php_pdo_sqlsrv_54_ts.dll」 Or 「php_pdo_sqlsrv_54_nts.dll」を使い分ける

あとはPHP.iniに以下を記載する(今回はスレッドセーフ版使用)
extension=php_sqlsrv_54_ts.dll
extension=php_pdo_sqlsrv_54_ts.dll

phpinfoで確認して使用する

PDO&UTF-8指定で接続!

Read more
ApacheLinux日記

CentOS6.4 Apache 2.4.4 SSL 本番環境コピーでエラーとなる

1 Mins read

本番環境からconf系ファイルをコピーして使用できるよう環境構築時に嵌ったので覚書!

コピーしてきてapacheが起動しない、confテストはOK

error_logに以下の記載がある

AH02311: Fatal error initialising mod_ssl,

ssl用のアクセスログを見ると。。。

AH02204: Init: Pass phrase incorrect for key of localhost.local:443
SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
SSL Library Error: error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error
SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=RSA)
SSL Library Error: error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib
SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=PKCS8_PRIV_KEY_INFO)

「Init: Pass phrase incorrect」とはSSL用の起動時passがないと言っている。。。はて?

決められた場所にpasswordファイルがあり、「SSLPassPhraseDialog exec:」のpassが間違っているのかと確認する。。。あってる。。。はて?

1時間ほど苦悶しながら調べる。。。あっ!?コピーしたから実行権限がなくなっているんだ!そう、このファイル内だけbshellが記載してあるんだ。。。とほほ、basic認証のpasswordファイルなどは関係ないのに。。。(すでに言い訳、笑)

Read more
Windows Serverパソコンのこと日記

ASUS Z87 Intel I217-V Windows Server 2008R2 2012 2012R2 NIC Driver

2 Mins read

ASUS Z87マザーについているIntel I217-VのネットワークドライバーがWindows Server(x64)系OSに対応していないので、Windows7 or Windows8系のドライバーをinf書き換えで対応させる覚書

1.Intel Ethernet Connectionsをダウンロード(ver18.7)

2.「PRO1000」「Winx64」の下にある「NDIS62」「NDIS63」「NDIS64」各フォルダ内から以下のファイルをEditする。この時バイナリエディッタで修正しないと他国の言語が文字化けしてしまう。日本のみで使用する場合は、Shift_JisでOpen、CloseしてOK!

「e1d62x64.inf」
「e1d63x64.inf」
「e1d64x64.inf」

このファイルたちの以下の箇所を開く「ControlFlags」で検索するとよい

[ControlFlags]
ExcludeFromSelect = \
PCI\VEN_8086&DEV_153A,\
PCI\VEN_8086&DEV_153B
 
[Intel]
 
[Intel.NTamd64.6.3.1]
; DisplayName Section DeviceID
; ----------- ------- --------
%E153ANC.DeviceDesc% = E153A.6.3.1, PCI\VEN_8086&DEV_153A
%E153ANC.DeviceDesc% = E153A.6.3.1, PCI\VEN_8086&DEV_153A&SUBSYS_00008086
%E153ANC.DeviceDesc% = E153A.6.3.1, PCI\VEN_8086&DEV_153A&SUBSYS_00011179
%E153BNC.DeviceDesc% = E153B.6.3.1, PCI\VEN_8086&DEV_153B
%E153BNC.DeviceDesc% = E153B.6.3.1, PCI\VEN_8086&DEV_153B&SUBSYS_00008086
%E153BNC.DeviceDesc% = E153B.6.3.1, PCI\VEN_8086&DEV_153B&SUBSYS_00011179
%E155ANC.DeviceDesc% = E155A.6.3.1, PCI\VEN_8086&DEV_155A
%E155ANC.DeviceDesc% = E155A.6.3.1, PCI\VEN_8086&DEV_155A&SUBSYS_00008086
%E155ANC.DeviceDesc% = E155A.6.3.1, PCI\VEN_8086&DEV_155A&SUBSYS_00011179
%E155ANC.DeviceDesc% = E155A.6.3.1, PCI\VEN_8086&DEV_155A&SUBSYS_90BA104D
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559&SUBSYS_00008086
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559&SUBSYS_00011179
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559&SUBSYS_90BA104D
 
[Intel.NTamd64.6.3]
; DisplayName Section DeviceID
; ----------- ------- --------
%E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A
%E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A&SUBSYS_00008086
%E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A&SUBSYS_00011179
%E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A
%E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A&SUBSYS_00008086
%E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A&SUBSYS_00011179

上記に対して「E153B.6.3.1」の部分をコピーして以下とする

[ControlFlags]
ExcludeFromSelect = \
PCI\VEN_8086&DEV_153A,\
PCI\VEN_8086&DEV_153B
 
[Intel]
 
[Intel.NTamd64.6.3.1]
; DisplayName Section DeviceID
; ----------- ------- --------
%E153ANC.DeviceDesc% = E153A.6.3.1, PCI\VEN_8086&DEV_153A
%E153ANC.DeviceDesc% = E153A.6.3.1, PCI\VEN_8086&DEV_153A&SUBSYS_00008086
%E153ANC.DeviceDesc% = E153A.6.3.1, PCI\VEN_8086&DEV_153A&SUBSYS_00011179
%E153BNC.DeviceDesc% = E153B.6.3.1, PCI\VEN_8086&DEV_153B
%E153BNC.DeviceDesc% = E153B.6.3.1, PCI\VEN_8086&DEV_153B&SUBSYS_00008086
%E153BNC.DeviceDesc% = E153B.6.3.1, PCI\VEN_8086&DEV_153B&SUBSYS_00011179
%E155ANC.DeviceDesc% = E155A.6.3.1, PCI\VEN_8086&DEV_155A
%E155ANC.DeviceDesc% = E155A.6.3.1, PCI\VEN_8086&DEV_155A&SUBSYS_00008086
%E155ANC.DeviceDesc% = E155A.6.3.1, PCI\VEN_8086&DEV_155A&SUBSYS_00011179
%E155ANC.DeviceDesc% = E155A.6.3.1, PCI\VEN_8086&DEV_155A&SUBSYS_90BA104D
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559&SUBSYS_00008086
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559&SUBSYS_00011179
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559&SUBSYS_90BA104D
 
[Intel.NTamd64.6.3]
; DisplayName Section DeviceID
; ----------- ------- --------
%E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A
%E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A&SUBSYS_00008086
%E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A&SUBSYS_00011179
%E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A
%E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A&SUBSYS_00008086
%E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A&SUBSYS_00011179
%E153BNC.DeviceDesc% = E153B.6.3.1, PCI\VEN_8086&DEV_153B
%E153BNC.DeviceDesc% = E153B.6.3.1, PCI\VEN_8086&DEV_153B&SUBSYS_00008086
%E153BNC.DeviceDesc% = E153B.6.3.1, PCI\VEN_8086&DEV_153B&SUBSYS_00011179

3.これでデバイスからドライバー更新してあげればOK!(署名がないのであやしいと言われるがインストール!)

当たり前ですが、補償はないので、自己判断でお願いします!

Read more
パソコンのこと

Windows8.1 リモートデスクトップ ショートカットキーが利用できない

1 Mins read

Windows8.1リモートデスクトップ接続時に「Windowsキー+I」などのショートカットキーを使用したいのだが、全画面表示にしないと意図した操作にならない(効かない)。当たり前だが、接続元に影響してしまう。

面倒だが「Alt+Ctrl+PauseBreak」にて全画面表示してからショートカットを使用すればOK

しかし、Windows8はスタートメニューが無いのだから、リモートデスクトップ接続時のショートカットの扱いやすさについて、もう少し考えてほしかった。VMwareのインターフェースのように操作ーメニューにいくつかのショートカットキーをマウスクリックできるなどの機能がほしい

なぜならWindows12も同じインターフェイスなので。。。サーバー管理者は複数のリモート接続画面を開いて操作することがよくある

Read more
Windows8

Windows8.1 リモートデスクトップ シャットダウンや再起動方法

1 Mins read

リモートデスクトップ接続時に遠隔からPCをシャットダウンさせたいのだが、Windows8から従来(Windows7以前)の方法で出来なくなっていたので覚書

・Windows7以前

「Alt+Ctrl+End」でシャットダウン、再起動が可能

・Windows8

「Alt+F4」でシャットダウン、再起動が可能

MSさん操作方法コロコロ変えるね~

windows8.1_remote_shutdown

Read more