php从另一个目录执行python脚本

2024-10-04 11:24:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个PHP脚本调用Python脚本(带参数):

<?php
$UPLOAD_DIR = 'tmp';
$AUDIOSPLIT = "../audiotranscri/scripts/audiospliter.py";
// This also fails using a symlink in the same dir
//$AUDIOSPLIT = "spliter";
$media_path = "tmp/media.mp3";
$subtitles_path = "tmp/mediasub.ass";

$cmd = "python3 ".$AUDIOSPLIT." ".$media_path." ".$subtitles_path." ".$UPLOAD_DIR;
echo($cmd);
system($cmd,$returnv);
echo($returnv);
?>

当我从bash终端运行这个程序时,它就工作了

^{2}$

但从网站调用时失败(Apache2 with PHP)。为什么?

注意:我确信Apache和PHP运行得很好,因为phpinfo()工作得很好。版本是php7.2.15、ubuntu 18.04.1、Apache 2.4.29。在


Tags: pathecho脚本cmd参数apachedirmedia
1条回答
网友
1楼 · 发布于 2024-10-04 11:24:18

考虑尝试以下方法之一:

对程序使用完整路径,因为在使用system()时可能无法设置路径-将“python3”更改为“/usr/bin/python3”,或者python3所在的任何位置。在

使用另一个函数exec()、shell_exec()、passthrough()

检查您的web服务器是否允许您在运行http时运行给定的函数,检查您的php.ini文件,或使用通过http访问的php脚本进行检查

<?php
$function_name = "system";
if ( function_exists($function_name) ) {
    echo "$function_name is enabled";
}
else {
    echo "$function_name is not enabled";
}

相关问题 更多 >