1

I know that there are similar questions on StackOverflow but I've tried all of them and none of them worked. On my laptop, I have an Apache server, a website built with PHP and a Python script.

Attempts:

1) system

$mystring = system('python myscript.py myargs', $retval); 

2) and 3) JSON and $temp = exec($command, $output);

php:

#first case
command= 'C:\wamp\www\com\non.py file';
$temp = exec($command, $output);
echo(" output ");

echo $output;
echo " hello ";
echo $temp;

#second case
// Execute the python script with the JSON data
$result = shell_exec('python /confronto/non.py '); 
#. escapeshellarg(json_encode($data)));

// Decode the result
$resultData = json_decode($result, true);

// This will contain: array('status' => 'Yes!')
var_dump($resultData);

python:

import sys, json

def tests():
    b = 2
    print("inside test")
    print(b)
    a = 4
    return a

#if __name__ == "__main__":

c = tests()
print("main")
print(c)
# Generate some data to send to PHP
result = {'status': 'Yes!'}

# Send it to stdout (to PHP)
print json.dumps(result)

4) apache configuration is setted:

AddHandler cgi-script .cgi .py 

1 Answer 1

1

exec() worked just fine for me.

murftown$ php -a
Interactive shell

php > $output = exec('python myscript.py', $output);
php > echo $output;
{"status": "Yes!"}
php > print_r(json_decode($output));
stdClass Object
(
    [status] => Yes!
)

That was in the interactive console, here's just the pure php:

$output = exec('python myscript.py', $output);
print_r(json_decode($output));
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.