pythonのファイルを非同期で実行したいです。
pythonのコードはまだ作成中でサンプル的なものを動かしています。
python(ファイル名はsample.py)
1with open('test.txt', mode='a') as f: 2 for i in range(100): 3 f.write('データ\n')
php
1<?php 2 $descriptorspec = array(); 3 $pipes = null; 4 $cmd = "sample.py" 5 6 $process = proc_open($cmd, $descriptorspec, $pipes); 7 $status = proc_get_status($process); 8 9 do { 10 $state = proc_get_status($process); 11 // waiting 12 usleep(1000 * 3); 13error_log("running\n", 3, "./debug.log"); 14 } while($state['running']); 15 16error_log("end\n", 3, "./debug.log"); 17 proc_close($process); 18?>
visual studio codeでpythonのコードを実行すれば問題なく動いてくれます。
phpで上記コードを実行してもdebug.logには書かれているんですが、sample.pyは動いていないようです。
proc_openはpythonが実行中かどうかを取得したいから使いました。
下記コードも無反応でした。sample.pyが動いていないようです。
php
1exec('sample.py', $output);
phpのコードのどこが悪いか教えてもらえないでしょうか。
よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/16 08:39
2021/03/16 12:06
2021/03/18 01:27