繁体   English   中英

如何从PHP文件运行python文件?

[英]How to run python file from PHP file?

我有python脚本,希望通过.php加载到html中,因此,我已在test.php中添加了此代码。

<?php
$command = escapeshellcmd("/var/www/html/ledon.py");
$output =  shell_exec($command);
echo $output;
?>

Shell_exec函数的工作方式就像我放ls -l而不是$ command一样,它显示所有文件。 因此,我不确定escapeshellcmd函数在做什么错。 谢谢。

使用Python,您必须通过使用“ python somescript.py”调用脚本来调用解释器。 请记住,我对PHP的了解很少,我假设您需要这样做: $command = escapeshellcmd("python /var/www/html/ledon.py"); 假设您的外壳上有指向安装Python的链接。

来自官方文件

对于那些试图在unix类型的平台上使用shell_exec并且似乎无法使其正常工作的人,请快速提醒一下。 PHP是作为系统上的Web用户( generally www for Apache )执行的,因此您需要确保Web用户对您要在shell_exec命令中尝试使用的任何文件或目录具有权限。 否则,它似乎什么也没做。

Python文件应具有正确的特权(如果PHP脚本在浏览器中或通过curl运行,则对用户www-data / apache执行)和/或必须是“可执行的”。 此外, .py文件中的所有命令都必须具有正确的特权。

您可能要使用sudo并将脚本例外添加到sudoers文件

您的shell命令错误。 您需要指定要在文件上运行的程序-即要使用Python运行它,您需要像这样运行Python:

python /var/www/html/ledon.py

但是,您需要使用system而不是shell_exec

因此,完整的PHP代码应为:

<?php
$command = escapeshellcmd("python /var/www/html/ledon.py");
$output =  system($command);
echo $output;
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM