使用php在bash文件中运行python脚本

时间:2015-04-27 12:59:59

标签: php python bash

我正在尝试运行一个简单的python脚本(name.py):

#!/usr/bin/env python 
 name = raw_input('What is your name?\n')
 print 'Hi, %s.' % name

使用以下bash脚本(Helloworld.sh):

 #!/bin/bash

python name.py

通过以下php

<!DOCTYPE html>
<html>

<body>

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

 echo shell_exec('sh /home/administrator/Desktop/Helloworld.sh');
}

  ?>
<form action="myfilename.php" method="post">
<p><Input Type = "Submit" Name ="Submit1" Value = "Save Parameters">

</form>
</p> 

</body>
</html>

日志中的错误是:

python:无法打开文件'name.py':[Errno 2]没有这样的文件或目录

bash文件在终端上正常工作。我该怎么办?

2 个答案:

答案 0 :(得分:2)

尝试在执行python脚本

之前添加该行
cd "$(dirname "$0")"
你的bash文件中的

答案 1 :(得分:1)

您可以像这样修改shell脚本:

#!/bin/bash
BASEDIR=`dirname "${0}"`
cd "$BASEDIR"
python name.py

始终在包含脚本的目录上运行。或者,如果 name.py 位于另一个目录中,则相应地更改cd命令。