外部コマンド実行/php/Laravel

execで外部コマンドを実行する

Contents

簡単な例

phpからwindowsのプログラムなどやpythonのプログラムを実行する。

dirコマンドを実行して、戻りを表示させてみます。

web.php

dir.brade.php

print_r(mb_get_info());

マルチバイト環境の設定を確認

mb_convert_encoding($out, ‘UTF-8’, ‘SHIFT_JIS’)

Windows系の出力をUTF-8へ変換しながら、Web出力させます。

結果

Pythonプログラムを処理する具体例

コントローラ内で処理する事とします。

出力値

array(0) { } int(0)

上記はqqqcode.pyを起動する例です。

qqqcode.py(C:\var\www\ecpink\qr-code)

qrcode.pngはC:\var\www\ecpink\mylog\publicにできました。

注意点

私の環境では、$cmdPath = ‘C:\ProgramData\Anaconda3\python.exe C:\var\www\ecpink\qr-code\qqqcode.py’;のようにフルパス指定、かつ、$cmdPathへ実行パラメータを記述して、exec()を処理しなければ、エラーが戻って来ました。

Pythonの場所

シェアする

  • このエントリーをはてなブックマークに追加

フォローする