タグ

phpとコマンドに関するrizmhateのブックマーク (2)

  • PHPをインタラクティブに実行する PsySH

    PHPの関数やコード例の動作確認をどのように行っていますか? 最も基的な方法は変数や関数の戻り値を逐次、echoで出力する方法でしょう。 しかしこの方法では何度もコード編集と実行を繰り返す必要があり非効率です。デバッガやIDEの使用も解決策の1つですが、大げさすぎたりパフォーマンスの問題がある時もあります。 一方でRubyの世界を見てみるとirbやpryを使ってコンソール上でリアルタイムにコードを試す姿が一般的です。 今回はPHPで対話的なデバッグやコード実行を行えるPshSHを紹介します。 PsySH 従来の手法 php -a PHPには標準で対話シェルモードがPHP5.1以降から搭載されています。 しかしこの機能を利用するには--with-readline付きでPHPがコンパイルされている必要があります。 readlineが利用できない場合はインタラクティブシェルの変わりにインタラク

    PHPをインタラクティブに実行する PsySH
  • PHPからunixシェルコマンドを実行しその結果を取得する。|プログラムメモ

    シェルコマンドを実行する関数は ・shell_exec() もしくは バッククォート(`)でコマンドを囲む ・passthru() ・system() ・exec() ・popen() ・proc_open() と6つありますが、 それぞれの違いは ・shell_exec() 「実行結果の出力がテキスト」のコマンドを実行する場合に使用する ・passthru()  「実行結果の出力がバイナリ」のコマンドを実行する場合に使用する ・system()   コマンド実行結果のうち最後の一行だけ取得 ・exec()     コマンド実行結果を指定した変数へ返す(配列で取得) ・popen()    プロセスへのファイルポインタをオープンする ・proc_open()  プロセスへの入出力用ファイルポインタを開く ・shell_exec()【コマンド実行結果を全て取得】(スカラーで取得) ・pass

  • 1