Free cookie consent management tool by TermsFeed Generator PHP Interacting with Python | Amir Kamizi
AMIR KAMIZI
Home Blog Courses Books Newsletter Store Membership Buy me a coffee
PHP Interacting with Python

PHP Interacting with Python

Last Updated on Mar 22, 2023

Introduction

Both PHP and Python are very powerful languages. Sometimes you might want to run a python program from your PHP code. It might be a machine learning algorithm, a crawler or anything else.

It’s very easy to do that.

Exec

Do you remember when we talked about running system commands?

We can use the same command and run a python program

Here my python file looks like this:

print("Hello My Friend!")

I can now use the exec function run the command and store the output and then echo that in php like this:

exec('python ./sayHello.py', $output);
// output is: Array ( [0] => Hello amir ! )
echo $output[0];
// Hello My Friend!

It’s always a good idea to escape all the shell commands. To do that you can use escapeshellcmd Function.

This escapes any characters in a string that might be used to trick a shell command into executing arbitrary commands.

Security

So let’s make our code more secure:

$command = escapeshellcmd('python ./sayHello.py);
exec($command, $output);
echo $output[0];
// Hello My Friend!

Arguments

Sometimes your python code might accept some command line arguments. We can also pass those arguments from our PHP code.

My updated python code looks like this:

import sys
if len(sys.argv) > 1:
   name = sys.argv[1]
   print("Hello",name.capitalize(),'!')
else:
   print("Hello My Friend!")

Now if I pass the name it says hello and the name but if I don’t pass any name it will say Hello My Friend

Now let’s pass the name with PHP

$command = escapeshellcmd('python ./sayHello.py amir');
exec($command, $output);
echo $output[0];
// Hello Amir !

And if I don’t pass the name:

$command = escapeshellcmd('python ./sayHello.py');
exec($command, $output);
echo $output[0];
// Hello My Friend!

https://youtu.be/BtP-oa6FtXI

Conclusion

Now you know about running a python code from PHP.

I recommend you to open a PHP files and try to run a simple python code from PHP. then try to pass arguments and parse the response.

If you have any suggestions, questions, or opinions, please contact me. I’m looking forward to hearing from you!

Key takeaways

  • run a python code from php
  • how to make system commands more secure
  • exec and escapeshellcmd function

Category: programming

Tags: #php #python #tips and tricks

Join the Newsletter

Subscribe to get my latest content by email.

I won't send you spam. Unsubscribe at any time.

Related Posts

how to use git restore and completely ignore the changes: 3 scenarios (video)
Nov 27, 2022 programming

how to use git restore and completely ignore the changes: 3 scenarios (video)

we are going to talk about ways to ignore the edits we made in a git project and restore the changes by git restore ...

9 Min Read Read More
Top 5 websites to learn PHP for FREE
Dec 22, 2022 programming

Top 5 websites to learn PHP for FREE

Do you want to learn PHP but you don’t want to spend hundreds of dollars? You are not alone. There are many websites that help people like you and me to start our journey. ...

9 Min Read Read More
PHP Interface
Mar 22, 2023 programming

PHP Interface

Today we are going to talk about interfaces in PHP. Interface is like a skeleton for the class. Interface is an important topic in OOP and it helps you manage your code better. ...

6 Min Read Read More
PHP Trait
Mar 22, 2023 programming

PHP Trait

Today we are going to talk about traits in PHP. A class can extend only one class. But what if you wanted to inherit multiple classes and have their functionalities in your current class? ...

4 Min Read Read More

Recommended Courses

Introduction to Machine Learning in PHP

Introduction to Machine Learning in PHP

Learn to Build Different Machine Learning Models Easily ...

PHP Tutorial Beginner to Advanced

PHP Tutorial Beginner to Advanced

Learn everything you need to start a successful career as a PHP developer ...