简体   繁体   中英

PHP exec returns empty string while executing Python script

I am trying to run a Python script inside PHP and show the output.

I tried with simple test.py inside PHP, which print hello world without problem. But when I try to execute my desired command from PHP script the exec() returns empty string instead of output.

So the here is my php script. Below snippets works fine:

$output = exec("python test.py"); 
var_dump($output);

But not the desired one.

$command = "python -m scripts.label_image --graph=tf_files/retrained_graph.pb --image=".$uploadfile;
$output = exec($command);
var_dump($output);

so the folder structure is:

/var/www/mysite/
              -scripts(folder which contains python scripts)
              -tf_files(folder with other files)
              -uploads (image folder)

Can someone tell me what is going wrong?

Sample output in stdout/shell:

python脚本的shell输出

the variable $output should an argument. If you do this, you should get only the last output of your script.

exec("python test.py", $output); 
var_dump($output);

https://www.php.net/manual/en/function.exec.php

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM