Kết nối

Cách thực thi đoạn mã Python trong PHP

 Đăng ngày:
10.333 lượt xem 
 

Nếu bạn có 1 đoạn script viết bằng Python, bạn muốn thực thi đoạn script này trong PHP và hiển thị nội dung kết quả lên Web thì cách đơn giản nhất là dùng hàm escapeshellcmd() và hàm shell_exec() ở PHP.

Hàm escapeshellcmd() dùng để thoát bất kỳ ký tự nào trong chuỗi được dùng để đánh lừa lệnh shell thực thi các lệnh tùy ý. Hàm này có tác dụng đảm bảo mọi dữ liệu từ người dùng đều được thoát trước khi chuyển đến thực thi qua hàm exec() hoặc hàm system() hoặc tới toán tử backtick. Đại loại hàm này dùng để chuyển các ký tự lạ trong mã Python để thực thi ở PHP mà không cần phải kiểm tra.

Hàm shell_exec() có tác dụng thực thi tất cả lệnh theo cơ chế shell (dòng lệnh) và trả về chuỗi kết quả. Đoạn mã Python thường trả kết quả bằng hàm print() vì vậy hàm shell_exec() có tác dụng thực thi và gom các kết quả đó để hiển thị trên PHP.

Trong ví dụ này, bạn có thể sử dụng gói XAMPP, WAMPP,… để thử nghiệm hoặc bất kỳ hosting PHP nào có support Python, đa số hosting mua đều hỗ trợ Python.

Bước 1. Tạo tập tin test.php

Bạn tạo 1 tập tin test.php với nội dung như sau:

<?php 

$command = escapeshellcmd('test.py'); //Chuyển mã trong tập tin test.py thành các lệnh
$output = shell_exec($command); // Lấy kết quả trả về biến $output
echo $output; // Xuất kết quả

?>

Bước 2. Tạo tập tin test.py

Bạn tạo tập tin test.py với nội dung như sau. Lưu ý đặt tập tin này cùng thư mục trên host với tập tin test.php.

a = 5
b = 6
print('<h2>DAMMIO.COM</h2>')
print('<b>Ket qua a + b bang Python:</b> ', a + b)

Bước 3. Xem kết quả

Sau đó, bạn có thể chạy tập tin test.php bằng cách mở trình duyệt. Ví dụ này thử nghiệm bằng XAMPP trên máy cục bộ, do đó đường dẫn thử nghiệm là http://localhost/test.php.

Qua bài này, bạn thấy được ví dụ cho thấy sự kết hợp tuyệt vời giữa PHP và Python. Chúc bạn may mắn và thành công!

Trích dẫn bài viết
  • APA:
    Dammio. (2019). Cách thực thi đoạn mã Python trong PHP. https://www.dammio.com/2019/04/11/cach-thuc-thi-doan-ma-python-trong-php.
  • BibTeX:
    @misc{dammio,
    author = {Dammio},
    title = {Cách thực thi đoạn mã Python trong PHP},
    year = {2019},
    url = {https://www.dammio.com/2019/04/11/cach-thuc-thi-doan-ma-python-trong-php},
    urldate = {2024-09-05}
    }
Thẻ: , ,
Theo dõi
Thông báo của
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
0
Rất thích suy nghĩ của bạn, hãy bình luận.x