所以基本上,我正在尝试对我将要构建的网站进行一些初步测试。将通过该站点进行下载,可能由不同用户下载相同的资源,可能几乎或同时进行。我想实现一种锁管理器,以防止在资源已经在进行中时重复下载资源。
我正在运行的测试只是为了看看这是否可能。我现在特别测试的是,如果我开始运行一个程序,如果我再次尝试打开该程序,它会打开一个全新的实例还是转到已经打开的实例。我这样做是为了尝试查看用户 1 是否在他们的程序中进行了更改,如果第二个用户打开他们的程序,他们会看到这些更改;否则,如果他们打开一个全新的程序实例,他们可能看不到更改。
PHP
exec(escapeshellcmd("C:\Program Files\Python 3.7\python.exe Test2Php.py 0 Testing"), $o1, $r);
echo $r;
var_dump($o1);
Python
#!/usr/bin/env python
import sys
arr = []
t = sys.argv[1]
if (t == '0'):
arr = [sys.argv[k] for k in range(2, len(sys.argv))]
print("if")
else:
print(str(len(arr)))
问题是脚本根本不返回任何输出!它也不运行。我通过让 python 程序在成功执行结束时写入一个文件来测试这一点。我尝试过 shell_exec、passthru 等。程序本身在通过命令行运行时可以工作,但在我制作的任何脚本中都没有。
我在 Windows 上使用 WAMP 服务器。
编辑:
对于其他处理此问题的人。确保您的系统路径变量中有默认的 Python 包。您可以通过安装最新版本的 python 并选择添加到系统路径来轻松完成此操作。卸载 anaconda 或其他任何可能妨碍系统路径并享受的东西。还要确保找到 python exe 的位置并使用它的完整路径。