21 กุมภาพันธ์ 2559

Published กุมภาพันธ์ 21, 2559 by with 0 comment

รันโค้ด Python ด้วย PHP

สวัสดีผู้อ่านทุกท่านครับ บทความนี้ผมจะพาผู้อ่านไปรันโค้ด Python ด้วย PHP กันครับ
บล็อก Python ทำไมถึงมีเรื่องนี้ ?
ย้อนความกันก่อนครับ เมื่อก่อน ก่อนที่ผมจะมาพบภาษา Python เมื่อหก - เจ็ดปีก่อน ผมได้เขียนเว็บไซต์ด้วย HTML และด้วย Dreamweaver 8 อัพขึ้น geocities.com (มีใครเคยใช้งานบ้าง บอกอายุกันเลย) ต่อมาจึงเริ่มมาเรียน PHP กับ MySQL เปิดบล็อกด้วย WordPress แล้วเรียน C เสร็จแล้วมา Java (เรียนด้วยตัวเองในเวลาว่าง เรียนเขียนไปเล่น ๆ ตรงไหนยากเกินเข้าใจ ข้ามไปก่อน) จนสุดท้ายมาพบกับ Python ที่บล็อกนั้น เลยได้มีบล็อก Python 3 มาถึงทุกวันนี้ครับ กลับมาเข้าคำถาม เนื่องจากผมเขียนโปรแกรมด้วยโค้ด Python ไว้มากมาย ส่วนเว็บผมก็ใช้ PHP (หา Host ง่ายและผมไม่มีเงินใช้ VPS จึงใช้ภาษา Python ไม่ได้ รวมถึงบล็อกนี้ด้วย)ผมอยากรันโค้ด Python ด้วย PHP เพื่อส่งงานที่เขียนยากใน PHP ให้ Python จัดการกับส่วนนี้ให้ และ Python ถือเป็นภาษาเชื่อมที่ดีอีกภาษาหนึ่ง

คำเตือน !
ก่อนใช้งานคำสั่ง exec() ให้ทำการแก้ไขการตั้งค่า php ให้ยกเลิกการบล็อคคำสั่ง exec() ด้วยครับ (ส่วนมาก บล็อคเพื่อความปลอดภัย) และให้ระวังเรื่องความปลอดภัยจากการเรียกใช้งานคำสั่ง exec() ควรมีการกรอกสตริงที่อันตรายก่อนนำเข้าคำสั่ง exec() ด้วยครับ

ใน PHP มีคำสั่งที่เรียกใช้โค้ดภายนอก คือ

[php]exec(คำสั่ง);[/php]

และมีคำสั่ง สำหรับแสดงผลลัพธ์ที่รันได้จาก exec() คือ

[php]print_r(ตัวแปร);[/php]

คำสั่งทั้งสองมีทั้งบน PHP 5 และ PHP 7

ตัวอย่างการรันโค้ด Python ด้วย PHP

ไฟล์ทั้งสองนี้ อยู่ในโฟลเดอร์เดียวกัน

ไฟล์ hello.py

[python]
print("Hello From Python. :D")
[/python]

ไฟล์ index.php

[php]
<?php $result = exec("python hello.py"); // ให้ปรับเปลี่ยนไปตามค่าที่ตั้งไว้ในระบบปฏิบัติการครับ
print_r($result);
?>
[/php]

ผลลัพธ์
รันโค้ด Python ด้วย PHP
สำหรับการส่งข้อมูลเพิ่มเติมต้องใช้ อาร์กิวเมนต์ใน Python + สตริงของ PHP เข้ามาช่วยด้วยครับ

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)