PHPやJavaでPythonを実行する2つの方法
のえる
2021.10.29
Python で作ったプログラムを他のプログラムと連携させたい、という事例を最近耳にします。
そこで今回は PHP や Java から Python を実行する方法をご紹介します。
はじめに
今回実装する環境は下記のとおりです。
PHP | 7.4.20 |
Python | 3.7.10 |
※今回はPHPで実装していますが、やり方自体は Java でも node.js でも同じです。
実装1. コマンドライン
Python プログラムを直接呼び出すやり方です。
1 2 3 4 5 |
exec("python app.py", $output); print_r($output); |
この方法の場合 PHPがpythonコマンドを実行できること という条件があります。
Pythonのエラーハンドルが少し難しいところもありますが、簡単に実行できるのが利点です。
また、直接やり取りをするため、オーバーヘッドが少ないのもポイントです。
実装2. FlaskによるWebアクセス
もう一つは Python側でFlaskを立ち上げ、そこにPHPからアクセスする方法です。
こちらは比較的簡単で、PHPのcurlによるアクセスで実行ができます。
導入も簡単で結果もJSONなどで受け取ることができますが、通信などによるオーバーヘッドが発生するため、速度を求めるようなものはあまり向いていないかもしれません。
さらに、Flaskの分のメモリも必要になるため、Python単体より多めのメモリを使用します。
さいごに
他のシステムを呼ぶ方法は多岐に渡りますが、今回は PHP と Python の連携を題材にしました。
実際に運用する際にはもっと高度な方法もありますが、比較的簡単に導入できる上記2点、検討してみてはいかがでしょうか?
- おすすめ記事
-
-
のえる2019.10.11
-
CakePHPでデータをキャッシュして高速化する
のえる2021.05.13 -
初心者を卒業!現役が教えるプログラミング上達方法
のえる2019.09.04
-
POPULAR
のえる
Full-stack Developer