PHPでPHPを作成しました。投稿リクエストの形でinput.csvファイルを受け取り、そのファイルをデジタル海洋サーバーのルートユーザーに保存しました。このファイルの助けを借りて、PHPでexecコマンドを使用して、同じデジタル海洋サーバーのルートユーザーのフォルダの1つに保存されたpythonスクリプトを実行しました。 Pythonスクリプトを実行すると、output.csvという別のcsvファイルが作成され、APIによって読み取られ、デジタル海洋サーバーのヒットリクエストに対する応答として与えられます。PHPファイルからPythonスクリプトを実行しようとしています
しかし私が直面している問題は、テスト用の投稿要求として郵便配達員またはブラウザを使用してデジタルオーシャンサーバーのURLをヒットしようとするたびに、私はoutput.csvファイルがルートユーザーサーバーのグループ。しかし、私はinput.csvファイルが作成されていることがわかりました。これは、urlを打っている間にパラメータとして渡されました。私の分析からわかる理由は、私が作成したphp apiは、生成するpythonスクリプト私が興味を持っている内容のoutput.csvファイル
もう1つのことは、ApacheデータサーバからのURLです。wwwデータユーザグループとpythonファイルが存在するサーバは、ルートユーザグループからのものです。私はちょうど許可の問題があるかどうかを知るためにこれを書いた。
私はexecコマンドを使用してpythonスクリプトを実行しています。私のAPIのコードは、下の任意の助けをいただければ幸いです。
<?php
$input_file_content = base64_decode($_POST['file_contents']);
print_r($input_file_content);
$python_file = "/var/www/html/selenium/scrap.py";
$input_file = dirname(__FILE__) . "/input.csv";
$output_file ="/var/www/html/selenium/output2.csv";
file_put_contents($input_file, $input_file_content);
exec("whoami 2>&1", $output, $return_var);
print_r($output);
exec("sudo /root/anaconda2/envs/venv/bin/python " . $python_file);
echo "<final_string>";
echo base64_encode(file_get_contents($output_file));
echo "</final_string>";
?>