
CURLFileを使ったらエラーになった話

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