Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melakukan integrasi Python dalam PHP?

Bagaimana untuk melakukan integrasi Python dalam PHP?

WBOY
WBOYasal
2023-05-20 21:21:092321semak imbas

PHP ialah bahasa skrip sebelah pelayan yang popular, manakala Python ialah bahasa pengaturcaraan peringkat tinggi yang digunakan secara meluas yang digunakan dalam banyak bidang seperti pembangunan web, sains data dan kecerdasan buatan. Mengintegrasikan PHP dengan Python boleh membawa lebih banyak kemungkinan dan kelebihan kepada pembangunan web. Artikel ini akan memperkenalkan cara melakukan integrasi Python dalam PHP.

1. Pemasangan dan konfigurasi Python

Sebelum menyepadukan PHP dan Python, kami perlu memasang Python pada pelayan terlebih dahulu. Anda boleh melawati laman web rasmi Python untuk memuat turun pakej pemasangan Python untuk pemasangan. Selepas pemasangan selesai, anda perlu mengkonfigurasi pembolehubah persekitaran supaya anda boleh memanggil arahan Python di mana-mana sahaja.

Selepas memasang Python, kita perlu memasang pemalam Python numpy dan matplotlib. Kedua-dua pemalam ini ialah pemalam penting untuk pemprosesan data, visualisasi dan pengkomputeran saintifik dalam Python, dan biasanya digunakan dalam bidang seperti pembelajaran mesin dan analisis data. Masukkan arahan berikut dalam terminal untuk memasang:

$ pip install numpy
$ pip install matplotlib

2. PHP memanggil program Python

Anda boleh menggunakan fungsi exec() dalam PHP untuk melaksanakan arahan sistem, jadi anda boleh melaksanakan PHP dengan memanggil perintah pelaksanaan Python Integrasi dengan Python. Langkah-langkah khusus adalah seperti berikut:

  1. Gunakan fungsi exec() dalam fail Php untuk memanggil arahan Python:
<?php
    $command = escapeshellcmd('/usr/bin/python script.py');
    $output = shell_exec($command);
    echo $output;
?>

Dalam contoh ini, kami melaksanakan fail dipanggil "script.py "Skrip Python. Skrip Python ini boleh menjadi sebarang kod Python yang anda mahu laksanakan. Antaranya, fungsi escapeshellcmd() boleh melepaskan laluan fail skrip untuk mengelakkan kelemahan pelaksanaan arahan sewenang-wenangnya.

  1. Memproses data dalam skrip Python:
import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 4*np.pi, 0.1)
y = np.sin(x)

plt.plot(x, y)
plt.show()

Skrip Python di sini menggunakan perpustakaan numpy dan matplotlib untuk memproses data dan melukis carta. Apabila PHP memanggil skrip ini, Python akan mengira nilai fungsi sinus y dan menjana carta, dan kemudian menghantar hasil carta kembali kepada PHP untuk paparan di halaman web.

3. Interaksi data PHP dan Python

Apabila menggunakan exec() dalam PHP untuk memanggil skrip Python, kita boleh menggunakan mekanisme cache output PHP untuk menangkap output skrip Python, dan kemudian gunakan output sebagai String dikembalikan. Mekanisme caching output PHP boleh dilaksanakan menggunakan fungsi ob_start() dan ob_get_clean().

Selepas mengembalikan output sebagai rentetan, kita boleh menggunakan perpustakaan JSON terbina dalam PHP untuk menukar output data oleh skrip Python ke dalam format JSON, dan kemudian menghantar data JSON kembali ke halaman web. Dengan cara ini, kita boleh bertukar dan berkongsi data antara PHP dan Python.

4. Pengurusan proses PHP dan Python

Apabila PHP memanggil skrip Python, kita perlu memastikan proses Python dimulakan dan ditutup dengan betul. Anda boleh menggunakan fungsi pcntl_fork() dan pcntl_wait() PHP untuk mengurus proses Python. Anda juga boleh menggunakan perpustakaan pengurusan proses pihak ketiga untuk mengurus proses Python, seperti Penyelia dan PM2.

Penyelia ialah alat Python untuk mengurus proses. Ia boleh digunakan untuk memulakan, menghentikan, memulakan semula dan mengurus berbilang proses Python. PM2 ialah alat untuk mengurus proses Node.js dan juga menyokong pengurusan proses Python. Alat pengurusan proses ini boleh membantu kami mengurus kitaran hayat proses Python dengan lebih baik dan mengurangkan risiko ralat program.

Ringkasan

Penyepaduan PHP dan Python boleh membawa lebih banyak kemungkinan dan kelebihan kepada pembangunan web. Artikel ini memperkenalkan cara menggunakan fungsi exec() dalam PHP untuk memanggil skrip Python dan bertukar data melalui mekanisme caching output dan format data JSON. Pada masa yang sama, kami juga memperkenalkan cara menggunakan alat pengurusan proses seperti Supervisor dan PM2 untuk menguruskan kitaran hayat proses Python. Melalui cara ini, kami dapat merealisasikan penyepaduan PHP dan Python dengan lebih baik, seterusnya mengembangkan senario aplikasi pembangunan web.

Atas ialah kandungan terperinci Bagaimana untuk melakukan integrasi Python dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn