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

0 投票
2 回答
3045 浏览
提问于 2025-04-16 20:05

我想在我的网络服务器上从cgi-bin目录运行一个名为'test.py'的Python脚本。cgi-bin目录的位置是'www/cgi-bin/',而这个Python脚本就在这个目录里。我正在执行的PHP代码位于'www/html/website/index.php'。

那么在这里,正确的路径应该是什么呢 ------> exec('path');

非常感谢!

补充说明:我的Python脚本已经设置为可执行(我已经测试过了)。

2 个回答

0

你的PHP代码现在是在 www/html/website/ 这个文件夹里运行的。你需要向上移动两个文件夹(也就是到达 www/ 文件夹),然后再进入 cgi-bin/ 这个子文件夹。所以这样写应该可以:

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

要注意的是,这个方法是基于当前工作目录就是PHP脚本所在的目录。如果PHP脚本里有东西改变了当前工作目录,或者这个PHP脚本是从其他脚本里引入的,那就不一定成立了。因此,最好使用绝对路径(比如把基础目录的绝对路径放到一个配置文件里)。

0

假设这个PHP脚本和“www”文件夹在同一个目录下。

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

或者不改变权限,你可以通过Python来运行它。

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

撰写回答