0

次のphpコマンドがあります。

  1. $shellOutput = shell_exec('net use');

次の出力が表示されます。

Status  Local   Remote      Network

OK            S:    \\srv\dataS     Microsoft Windows Network

cmd ウィンドウで net use を実行すると、次の出力が表示されます

 Status Local   Remote      Network

 OK           L:    \\srv\dataL Microsoft Windows Network
 OK           M:    \\srv\dataM Microsoft Windows Network
 OK           P:    \\srv\dataP Microsoft Windows Network
 OK           R:    \\srv\dataR Microsoft Windows Network
 OK           S:    \\srv\dataS Microsoft Windows Network

マップされたすべてのネットワーク ドライブを表示する必要がありますか?それとも、返されるドライブの数を PHP が制限していますか?

コマンドが複数のネットワーク ドライブを返すことになっている場合は、誰が複数の行を返すかについての短い例を提供してください。

ティア


var_dump を実行した後、返された値は

Status  Local   Remote      Network

OK      S:      \\srv\dataS     Microsoft Windows Network
4

1 に答える 1

0

shell_executeは完全な出力を文字列として返す必要があります。 execを使用していないことを確認してください。

  1. コード (apache、www-data、httpd など) を実行しているユーザーが、すべてのネットワーク ドライバーに接続するための適切な権限を持っていることを確認してください。
  2. 何を達成しようとしているのか教えてください。

残念ながら、私は Windows 環境を持っておらず、Windows コマンドをテストすることはできません。でも; Linux コマンドはshell_execで期待どおりに動作します(文字列として出力)

私にお知らせください

于 2014-08-29T02:48:47.380 に答える