使用PHP从HTML按钮执行python脚本时出现问题

时间:2019-03-30 05:22:54

标签: php python html shell unix

我无法在网页上获得执行python3脚本的按钮,该脚本也与其余html和php文件位于服务器的同一文件夹中。

exec();
system();
escapeshellcmd();
shell_exec()

所有这些命令现在都不适用于我。我有chmod + x我的.py文件,并在我的python文件的开头包含#!/ usr / bin / env python3。

<?php
if( isset($_POST['runScript'])){

$command = escapeshellcmd('/nfs/nfs7/home/team51/cgi- 
pub/dataProcess.py');
$output = shell_exec($command);
echo $output;

}
?>

<form method="post">
<input type="submit" name="runScript" value="runScript">
</form>

最后,python脚本应将一个csv文件放置在与其余文件相同的文件夹中。但是我什么也没得到。

某些函数只是打印回“ Array()”

2 个答案:

答案 0 :(得分:1)

您正在从apache用户运行pythin脚本。 apache用户可能无法访问Python路径

使用完整的python安装路径执行脚本。

<ion-header>
  <ion-toolbar color="primary">
    <ion-title>
      TASK CHECKOUT
    </ion-title>
  </ion-toolbar>
</ion-header>

<ion-content padding>

                <ion-button color="success" shape="round" (click)="scan()">
                    <ion-icon name="ios-qr-scanner"></ion-icon>
                </ion-button>

    <ion-card *ngIf="productFound">
      <ion-card-header>
        <h2 color="success" >{{selectedProduct.name}}</h2>
      </ion-card-header>
      <ion-card-content>
        <ul>
          <li>{{selectedProduct.plu}}</li>
          <li>{{selectedProduct.price}}</li>
                <li>{{selectedProduct.desc}}</li>
                <li>{{selectedProduct.scannedAt | date: 'short'}}</li>
        </ul>
      </ion-card-content>
    </ion-card>
</ion-content>

要找出确切的错误,请检查apache错误日志。如果错误日志的权限被拒绝,则表明apache没有执行脚本的权限。 您可以从sudoers文件获得访问权限。

答案 1 :(得分:0)

尝试制作一个sh文件以执行python脚本并使用PHP执行该sh文件