apache において、python プログラムを実行するには例えば WSGI などがあります。AI的な処理をしようというときには、anaconda の中の特定の環境においてコードを実行する必要があります。計画では、単純に PHP を仲立ちとして、Anaconda の特定の環境内で python コードを実行しようと思いますが、まだ上手くできていません。検討した内容を記録したいと思います。OS は ubuntu22 です。
参考サイト
PHP から実行するシェルスクリプトは下記のような感じです。anaconda3 というフォルダーはそれぞれあてはまる位置に変更が必要です。test という環境に切り替えています。このシェルスクリプトのファイル名を hello.sh とします。
#!/usr/bin/bash
source ./anaconda3/etc/profile.d/conda.sh
conda activate test
python3 ./test.py $1
test という環境内で、test.py というコードを実行します。その際シェルスクリプトの引数をひとつ渡します。test.py の中身は下記です。引数を表示するだけです。
import sys
args = sys.argv
print(args)
hello.sh を実行します。source を用いました。引数 ‘test’ を渡しています。
(base) friend@web22:~$ source ./hello.sh test
['./test.py', 'test']
あとはこれを apache から呼び出せるといいのですが。現在まだ検討中です。apache の権限をどうするか?上記のままでは実行できません。