PHP est un langage de script côté serveur populaire, tandis que Python est un langage de programmation de haut niveau largement utilisé dans de nombreux domaines tels que le développement Web, la science des données, l'intelligence artificielle, etc. L'intégration de PHP avec Python peut apporter plus de possibilités et d'avantages au développement Web. Cet article explique comment effectuer l'intégration Python dans PHP.
1. Installation et configuration de Python
Avant d'intégrer PHP et Python, nous devons installer Python sur le serveur. Vous pouvez visiter le site officiel de Python pour télécharger le package d'installation de Python pour l'installation. Une fois l'installation terminée, vous devez configurer les variables d'environnement pour appeler des commandes Python n'importe où.
Après avoir installé Python, nous devons installer les plug-ins Python numpy et matplotlib. Ces deux plug-ins sont des plug-ins importants pour le traitement des données, la visualisation et le calcul scientifique en Python, et sont généralement utilisés dans des domaines tels que l'apprentissage automatique et l'analyse des données. Entrez la commande suivante dans le terminal pour installer :
$ pip install numpy $ pip install matplotlib
2. PHP appelle le programme Python
Vous pouvez utiliser la fonction exec() en PHP pour exécuter des commandes système, afin que l'intégration de PHP et Python puisse être réalisée en appelant l'exécution de Python commande. Les étapes spécifiques sont les suivantes :
<?php $command = escapeshellcmd('/usr/bin/python script.py'); $output = shell_exec($command); echo $output; ?>
Dans cet exemple, nous avons exécuté un script Python appelé "script.py". Ce script Python peut être n'importe quel code Python que vous souhaitez exécuter. Parmi eux, la fonction escapeshellcmd() peut échapper au chemin du fichier de script pour empêcher les vulnérabilités d'exécution de commandes arbitraires.
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()
Le script Python utilise ici les bibliothèques numpy et matplotlib pour traiter les données et dessiner des graphiques. Lorsque PHP appelle ce script, Python calcule la valeur de la fonction sinusoïdale y et génère un graphique, puis renvoie le résultat du graphique à PHP pour l'afficher sur la page Web.
3. Interaction des données PHP et Python
Lors de l'utilisation de exec() en PHP pour appeler un script Python, nous pouvons utiliser le mécanisme de mise en cache de sortie de PHP pour capturer la sortie du script Python, puis renvoyer la sortie sous forme de chaîne. Le mécanisme de mise en cache de sortie de PHP peut être implémenté à l'aide des fonctions ob_start() et ob_get_clean().
Après avoir renvoyé la sortie sous forme de chaîne, nous pouvons utiliser la bibliothèque JSON intégrée de PHP pour convertir les données sorties par le script Python au format JSON, puis renvoyer les données JSON à la page Web. De cette façon, nous pouvons échanger et partager des données entre PHP et Python.
4. Gestion des processus PHP et Python
Lorsque PHP appelle un script Python, nous devons nous assurer que le processus Python est démarré et fermé correctement. Vous pouvez utiliser les fonctions pcntl_fork() et pcntl_wait() de PHP pour gérer les processus Python. Vous pouvez également utiliser des bibliothèques de gestion de processus tierces pour gérer les processus Python, tels que Supervisor et PM2.
Supervisor est un outil Python de gestion de processus. Il peut être utilisé pour démarrer, arrêter, redémarrer et gérer plusieurs processus Python. PM2 est un outil de gestion des processus Node.js et prend également en charge la gestion des processus Python. Ces outils de gestion de processus peuvent nous aider à mieux gérer le cycle de vie du processus Python et à réduire le risque d'erreurs de programme.
Résumé
L'intégration PHP et Python peut apporter plus de possibilités et d'avantages au développement Web. Cet article explique comment utiliser la fonction exec() en PHP pour appeler des scripts Python et échanger des données via le mécanisme de mise en cache de sortie et le format de données JSON. Dans le même temps, nous avons également présenté comment utiliser des outils de gestion de processus tels que Supervisor et PM2 pour gérer le cycle de vie des processus Python. Grâce à ces moyens, nous pouvons mieux réaliser l'intégration de PHP et Python, élargissant ainsi les scénarios d'application du développement Web.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!