簡體   English   中英

php從另一個目錄執行python腳本

[英]php execute a python script from another directory

我有一個調用Python腳本(帶有參數)的PHP腳本:

<?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終端運行此命令時,它起作用

$ php7.2 dummy.php 

但是從網站(帶有PHP的Apache2)調用它時失敗。 為什么呢

注意:由於phpinfo()可以完美運行,因此我確定Apache和PHP可以正常運行。 版本是PHP 7.2.15,ubuntu 18.04.1,Apache 2.4.29。

考慮嘗試以下方法之一:

為您的程序使用完整路徑,因為使用system()時可能未設置PATH-將“ python3”更改為“ / usr / bin / python3”,或者將python3放在任何位置。

使用另一個函數exec(),shell_exec(),passthrough()

檢查您的網絡服務器是否允許您在通過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";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM