動作環境
- Windows 10 Pro, バージョン1607, OSビルド14393.51
- Apache 2.4.17
- PHP 5.6.23
- 読み出しているのはQNAP製NAS, TS231
比較
サービス登録なし
サービス登録あり
PHPと出力
<?php
$file_path = "\\\\TS231-1\\fs_data\\data.xml";
var_dump(file_get_contents($file_path));
?>
サービス登録なし
string(154) " This is content of XML "
サービス登録あり
Warning: file_get_contents(\TS231-1\fs_data\data.xml): failed to open stream: Invalid argument in C:\xampp\htdocs\index.php on line 16
bool(false)
質問
XAMPPでサービス登録を行うと、Session Setup以降の手続きが行われません。
サービス登録を解除している場合、SMB2で読み出しに成功します。
Windows 7の場合、サービス登録の有無に関わらず読み出しが可能です。
PHPのコードに問題があるのか、Apacheのバグなのか、Windowsの問題なのか、これ以上どこを調べれば良いのか困っています。どこを調べればよいでしょうか。ご助言お願いします。
サービス登録の有無に関わらず、単に通信を行えるようにするには、「Windows側でSMB2を無効化 & SMB1を有効化」で成功するのですが、Windows 10でSMB1のみを使用することに抵抗があります...