从cgi-bin文件夹中使用php运行python脚本的正确路径


Correct path to run python script with php from cgi-bin folder

我想在Web服务器上的cgi-bin目录中运行python脚本"test.py"。cgi-bin目录位于"www/cgi-bin/"。python scrip在该目录中。我正在执行的php代码位于"www/html/website/index.php"。

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

TYVM

编辑:我的python脚本是chmod+x'd,并且是可执行的(我已经测试过)

假设PHP脚本与"www"目录在同一目录中。

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

或者不使用chmoding,您可以通过Python 运行它

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

然后您的PHP代码在www/html/website/目录中执行。您需要向上转到两个目录(到达www/目录),然后向下转到cgi-bin/子目录。所以这应该有效:

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

请注意,这依赖于当前的工作目录是PHP脚本目录。这种情况可能并不总是如此,特别是如果PHP脚本中的某些内容显式地或简单地更改了当前工作目录,或者该PHP脚本是从不同的脚本中包含的。因此,最好使用绝对路径(例如,将基本目录的绝对路径放入配置文件中)。