0

PHP で、unc パスを使用すると、shell_exec、system、または exec を介してコマンドを実行できません。次に例を示します。

機能するもの:

$command = shell_exec("dir c:\\"); echo $command;

これが機能しないものです。エコーは何もありません。

$command = shell_exec("dir \\\\server\\dir"); echo $command;

Windows コマンド ウィンドウまたは PowerShell でdir \\server\dirを実行すると、正常に実行されます。

4

1 に答える 1

1

UNC パスは機能しますが、PHP サービスを実行しているユーザーは共有にアクセスできる必要があります。

IIS で PHP を実行していると仮定します。その場合、デフォルトのユーザーはIUSR_MachineNameです。このユーザーが共有にアクセスできることを確認してください。

Apache を実行している場合は、サーバーのタスク マネージャーをチェックして、Apache サービスを実行しているユーザーを特定します。このユーザー名に共有へのアクセスを許可します。

于 2013-08-23T19:28:08.287 に答える