J'ai un script php (News-generatorator.php) qui, quand je l'incluais, attrape un tas d'actualités et les imprime. En ce moment, j'utilise Python pour mon site Web (CGI). Quand j'utilisais PHP, j'ai utilisé quelque chose comme celui-ci sur la page "Actualités":
page_html = "<h1>News and Updates</h1>" news_script_output = php("news-generator.php") //should return a string print page_html + news_script_output
5 Réponses :
php est un programme. Vous pouvez exécuter n'importe quel programme avec Subprocess . P>
La partie difficile simule l'environnement CGI entier que PHP s'attend. p>
Bon point. Cela dépend de quel genre de PHP vous courez, je suppose.
PHP-CLI attend-il ce type d'environnement?
PHP CGI attend beaucoup d'environnement. La CLI semble nécessiter une configuration beaucoup moins de l'environnement. Voici le Doc définitif. PHP.net/Manual/fr/Feats.commandline.php .
import subprocess def php(script_path): p = subprocess.Popen(['php', script_path], stdout=subprocess.PIPE) result = p.communicate()[0] return result # YOUR CODE BELOW: page_html = "<h1>News and Updates</h1>" news_script_output = php("news-generator.php") print page_html + news_script_output
Le seul problème est que, comme s.lott mentionné, simulant l'environnement CGI que PHP veut.
Je pense que la meilleure réponse serait d'avoir Apache rendant les deux pages séparément, puis utilisez JavaScript pour charger cette page dans une DIV. Vous avez le léger ralentissement de la charge AJAX, mais vous n'avez alors pas à vous en soucier. p>
Il existe une chose de widget open source qui exécutera plusieurs langues sur 1 page, mais je ne me souviens pas de ce que c'est appelé. p>
Vous pouvez utiliser Urllib pour obtenir la page du serveur (localhost) et l'exécuter dans le bon environnement pour PHP. Pas jolie, mais ça va marcher. Cela peut causer des problèmes de performance si vous le faites beaucoup. P>
Peut-être sur la rubrique, mais si vous voulez faire cela de manière à ce que vous puissiez accéder aux vars et créé par le script PHP (par exemple, un tableau des actualités), votre meilleur meilleur sera de faire l'exécutif de la Script PHP, mais renvoyez une maquette codée JSON d'éléments de PHP en tant que chaîne, puis JSON les déco sur le côté Python et effectuez votre génération et son itération HTML. P>
"J'ai simplifié l'exemple de simplicité." - Quoi d'autre le simplifieriez-vous? ;)
@MusicFreak: rigole? Efficacité? beauté?
J'ai travaillé avec des personnes qui "simplifiaient l'exemple" pour obscurcir leur incompétence. J'espère que ce n'est pas le cas ici.