- ベストアンサー
PHPからバッチ実行
exec('hogehoge.bat'); PHPから上記コマンドでバッチを実行すると hogehoge.bat ECHO hoge > hogehoge.log DIR \\Server1\hoge*.* > C:\hoge\hoge.log hogehoge.logにはキチンとhogeと書いてありますが hoge.logは作成されますが真っ白なままです。 NET USE F: \\Server1 ドライブに割り当てて試してみましたがダメでした。 なにかいい方法はございませんでしょうか? Win XP Apache_2.0.59 php-4.4.4
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Apacheを起動しているユーザではネットワークドライブがマッピングされていないから、ということはありませんか。 もしそうだとすれば、hogehoge.bat を次のように書き換えればうまく行くのではないかと思います。 ECHO hoge > hogehoge.log NET USE F: \\Server1 DIR \\Server1\hoge*.* > C:\hoge\hoge.log
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
セキュリティ的な問題かもしれませんね。 opendirなどでPHP側で処理をしてみてはいかがですか? http://jp.php.net/manual/ja/function.opendir.php
質問者
お礼
ご回答いただきありがとうございました。 原因はApacheの管理者権限でした。 サービスで起動しているApache2に管理者権限を与えると動作しました。
お礼
ご回答いただきありがとうございました。