質問: ### 前提・実現したいこと PHPが従来どおり動作してほしい(涙) ### 発生している問題・エラーメッセージ 本日からすべてのXAMPP の htdocs 内にある PHP ファイルが動作しなくなりました。 昨日まではすべてのファイルが使用できている状態でした。 *-*-確認したこと-*-* XAMPPのapacheが起動しているか(もちろんOK) localhost/index.phpなど XAMPP に最初からあるファイルも不可 静的なファイル(.htmlなど)は問題なく閲覧可 エラーメッセージ Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0 Fatal error: Unknown: Failed opening required 'ファイルのパス' (include_path='.;C:\xampp\php\PEAR') in Unknown on line 0 ### 該当のソースコード ### 試したこと 上記コードのような単純なコードでも同じ結果になることを確認済み なのでincludeとかそういうのが原因ではないとおもいます ### 補足情報(FW/ツールのバージョンなど) 環境: Windows 10 PRO 64bit Version: 1903 XAMPPのドキュメントルートはD:\にあるOneDriveに移動しています。 朝から仕事になりません>< よろしくお願いいたします。
回答: OneDrive管理下のフォルダはフォルダに見えて特殊なことをしているので、DocumentRootにOneDriveなどクラウドファイル共有サービス系フォルダを使うのは相応のリスクを背負うと察します。 (セキュリティ、アクセス権が強くて、システム管理者権限で動作するプログラムからアクセスできない可能性がある。) 代替案ですが、 元の状態で再設定した上で、DocumentRoot以下のファイル構造をOneDriveフォルダ下にコピーするバッチ処理でも用意すれば良いかと思われます。 例えば、「OneDriveにコピー.cmd」として ``` xcopy C:\XAMPP\htdocs\*.* C:\Users\hogehoge\OneDrive /y /s /e ``` を書いておくとか。 それでもOneDrive下で動かしたいのであれば、 「これだけすればいい」と伝えるのは難しくトライ・アンド・エラーの繰り返しになりますが、 OneDriveが管理しているフォルダのセキュリティをいじる必要性があります。 第2回 アクセス制御リストACL (1/2):Windows OS入門 - @IT 【Windows】NTFSのアクセス権の種類~高度なアクセス許可/特殊なアクセス許可一覧~ | SEの道標 など、アクセス権にまつわる情報収集を行ってアクセス権をコントロールすることになります。 「これだけやっておけば大丈夫」ってのがわかるまでトライ・アンド・エラーの繰り返しになるかと。