- 締切済み
PHPでl2SWへコマンド
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- みずの(@mizuno3)
- ベストアンサー率73% (192/263)
>execコマンドなどで複数行を送ることはできるのでしょうか? L2SWに送ったことはないのですが、これは改行コードを入れるだけで普通に出来るんじゃないでしょうか? telnetの接続がどうなるかはやったことないから解からないです。 fsockopenを使ったほうが確実な気がします。 ライセンスの形態までは調べてないですが、Telnetクラスのような物もあるっぽいですよ。 http://cvs.adfinis.ch/cvs.php/phpStreamcast/telnet.class.php ターミナルでの出力は、レンタルサーバーなどでは使用できない場合があるかも知れませんが、一般的には以下のようにして利用することが出来ると思います。 $ /usr/bin/php /var/www/a.php こんな感じで使ったりするんじゃないですかね。 perlのように #!/usr/bin/php <?php と書いてみたりとか。 この場合はパーミッションで実行権限を与えておく必要があります。
関連するQ&A
- L2SWはARPテーブルを持っている?
L2SWはARPテーブルを持っているのでしょうか? 例えば、telnetで入ってコマンドで、そのL2SWのどのポートに何のIPアドレスのホストが接続されているか、といった事はわかるのでしょうか?
- ベストアンサー
- その他(インターネット接続・通信)
- phpからlinuxコマンドを実行した場合
phpで質問すればよいのかlinuxで質問すればよいのか微妙なのですが、 phpのexec関数でlinuxにコマンドを複数発行した場合の質問です。 例えば、cmdAとcmdBがあって、cmdBがcmdAに依存している場合(例えばcmdAで生成されたファイルをcmdBで使用するときとか)、下記のようにして、問題なのでしょうか? ---------------- exec(cmdA); exec(cmdB); ---------------- 上記のように連続でコマンドを発行すれば、cmdBはcmdAの処理が終わってから実行されるのでしょうか? 以上、よろしくお願い致します。
- ベストアンサー
- PHP
- TeraTermマクロでの出力キャッチ
現在TeraTermを使用し、telnetでの自動ログイン及びスクリプトの実行を行っています。 スクリプトの実行(cscriptで実行)までは完成したのですが、そのスクリプトは実行結果として "○"又は"×"の文字列を返してきます。 その出力をマクロ側でキャッチし処理を変える…というような事は可能なのでしょうか? 接続元及び接続先共にWindows2000、2003server、XPのいずれかで、起動スクリプトはVBSです。 宜しくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- Linux:PHPでTELNETによるSMTP結果取得について
度々利用させていただいています。 以下質問、ご存知の方がいましたら 是非是非教えてください。 今現在、PHPプログラムにおいて [TELNETを使用したSMTPコマンド発行]プログラムを 作成しています。 そこで一つ解決できない問題が生じてしまいました。 問題: 今現在使用しているコマンド発行関数は「system()」関数です。 引数には('telnet hogehoge.jp 25')としています。 出力結果としては・・・ Trying 127.0.0.1... Connected to helpserve.jp. Escape character is '^]'. と出力されます。 しかし、ターミナルソフトを使用してtelnet hogehoge.jp 25を 実行すると・・・ 220 hogehoge.jp ESMTP Postfix と、実行結果コードが出力されます。 この「220」が出力結果としてほしいのですが どうしても取得出来ません。 色々とその辺の(exec,passthru,shell_exec)関数を試して みたのですがどうしても取得することが出来ませんでした。 そこで、どうすれば取得できるのご存知の方、是非 お知恵を拝借したいと思います。 (すごい推測ですが、もしかして220のコードは TELNETが出力しているから取得できない・・・ そんな気はしています。) 環境: OS:FwdoraCore3 PHP:Ver.5.1.6 なにとぞ、よろしくお願いします。
- 締切済み
- PHP
- phpのshell_exec関数の動作に関する質問です。
phpのshell_exec関数の動作に関する質問です。 環境はFreeBSD7.1 php5.2.13です。 もともとperlスクリプトtest.cgiがあって、 /path/test.cgi filea fileb (以後これをコマンドラインという) というコマンドラインが正常に実行されることが確認済みです。 このコマンドラインが実行されるとfilebの内容が変化します。 次にphpスクリプトからコマンドラインを実行するために test.phpスクリプトの途中に、 shell_exec("/path/test.cgi $filea $fileb"); と書きました。 (test.cgiではperlライブラリを読み込んでいます。 phpには同等のライブラリがないためにやむを得ずこうしています。) ところがtest.phpを(ブラウザから)実行しても コマンドライン実行後に期待される$filebの変化がありません。 つまりコマンドラインが実行された形跡がないのです。 test.phpスクリプトの$filea, $filebが正しく変数展開されていることは確認済みです。 FireFoxブラウザから見るとtest.phpスクリプトは特にエラーもなく正常に実行されているように見えます。 質問 1 正常に実行できるコマンドラインをphpのshell_exec関数で実行できない理由としてどのようなことが考えられるでしょうか。
- ベストアンサー
- PHP
- PHPからシェルコマンドの実行
PHPからシェルコマンドを実行したいのですが SSHやSCPコマンドが使えません。 phpからlsなどは問題なく実行できます。 具体的には以下のように書いています。 `scp test.log user@host:/home/hoge`; shell_exec()を使っても実行されませんでした。 環境は以下のとおりです。 PHP 5.4.17 CentOS 5.8 sshやscpコマンドをphpから実行するには何か特別な方法が必要なのでしょうか。 ご存知の方、教えてください。
- ベストアンサー
- PHP
- phpからlinuxコマンドを実行したい
CentOS6で test.phpを作成しました。 <?php $buf = ''; exec("yum list installed | grep php | cut -d' ' -f1", $buf); var_dump($buf[0]); ?> コマンド:php test.php を実行したのですが、実行結果が帰ってきません。 (当然phpをインストールしているので、パッケージは導入されています。) 多分「’」がうまく機能してないのだと思うのですが、 どのように記述すればコマンドの実行結果が表示されるのでしょうか ご教授お願いします。
- 締切済み
- Linux系OS
- PHPのexecで別PHPの実行
「エックスサーバー」というレンタルサーバーを使用しています。 PHPファイルの中で[exec()]関数を用いて、別ファイルのPHPを実行させたいと考えております。 ・PHPバージョン:5.3.3 ・ドメイン:XXXXX.xsrv.jp 以下の内容(ProgramA)を実行すると、 [exec()]関数で呼び出している処理(ProgramB)が実行されていないように思います。 どのように修正したら、(ProgramB)が実行されるのでしょうか? どうかご教示くださいませ。 ---ProgramA.php (起動する側)---------------------- <?php exec('/usr/bin/php5.3 /home/XXXXX(ユーザー名)/xsrv.jp(ドメイン)/public_html/AAA/BBB/ProgramB.php'); echo "test!"; ?> ※ProgramA.phpを実行すると、ブラウザには「test!」という文字列が表示されます。 ※ProgramA.phpのパーミッションは755に設定されています。 ---ProgramB.php (起動される側)---------------------- <?php echo"HelloWorld"; ?> ※ProgramB.phpのパーミッションは755に設定されています。
- 締切済み
- PHP
- PHP 上で ImageMagick のコマンド convert が動
PHP 上で ImageMagick のコマンド convert が動かなくて困っております。 どなたかご教授ください。よろしくお願いします。 OS CentOS PHP PHP5.1 症状 コマンドプロンプト上で実行した convert コマンドは実行できているのに、 同様のコマンドをexec関数にて実行しても実行できない。 safe_modeはoffになっております。 以上です。解決方法をご教授ください。 なにとぞよろしくお願いします。
- ベストアンサー
- PHP
- テルネットしコマンドを自動実行
今回PHPで複数台のルータにログインし、確認コマンドを実行・結果を出力するプログラムを作りたいと考えていますが、知識不足のためうまくいきません。 皆様のお力をお貸いただければと思います。 1.CSVファイルからルータのリスト(IPアドレス)を読み込みTelnetする (ログイン名やパスワードは全て同じ) 2.確認コマンドを実行 3.実行結果を新しいCSVファイルに出力する。 よろしくお願い致します。
- 締切済み
- PHP