[英]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.