2011-06-22 32 views
0

我想从我的web服务器上的cgi-bin目录运行python脚本'test.py'。 cgi-bin目录位于'www/cgi-bin /'。 python scrip在该目录中。我正在执行的php代码位于'www/html/website/index.php'。从cgi-bin文件夹使用php运行python脚本的正确路径

什么是这里的正确路径------> exec('path');

TYVM

编辑: 我的Python脚本已经使用chmod + x'd是可执行文件(我已经测试)

+0

为什么你想通过PHP来运行你的Python CGI脚本?这是一个非常非正统的事情... –

回答

1

假设PHP脚本是在同一目录 “www” 的目录。

<? 
    exec('./www/cgi-bin/test.py'); 
?> 

或不chmoding,您可以通过Python的

运行
<? 
    exec('python ./www/cgi-bin/test.py'); 
?> 
+0

嗨我试过这两个解决方案发布,他们都没有工作...这里是我使用我的Python脚本的源代码。 'code #!/usr/bin/python f = open(“./ testtesttest”,'w') f.write(“testing testing 1 2 3”) f.close()' 这仅仅是为了测试目的。 – Rell3oT

+1

@ user583507文件系统中的PHP脚本在哪里?在linux命令行中执行“pwd”命令。 – FinalForm

+0

它在/ var/www/cgi-bin而php网站的绝对路径是/var/www/html/website/index.php – Rell3oT

0

你的PHP代码在www/html/website/目录执行即可。您需要上传两个目录(到达www/目录),然后进入cgi-bin/子目录。所以这应该工作:

exec('../../cgi-bin/test.py'); 

请注意,这是依靠当前工作目录是PHP脚本目录。这可能并非总是如此,特别是如果PHP脚本中的某些内容显式更改当前工作目录,或者仅当该PHP脚本包含在其他脚本中时更是如此。所以最好使用绝对路径(例如,将基础目录的绝对路径放入配置文件中)。

相关问题