บล็อก 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 เข้ามาช่วยด้วยครับ
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)