简单的 PHP 调用 Python 脚本-调用不起作用

简单的 PHP 调用 Python 脚本-调用不起作用

我有一个简单的本地主机网站,其中有一个 php 页面,上面有一些调用 python 脚本的按钮。

我可以在本地运行它,并且输出可以正常工作,因此脚本独立运行没问题。问题出在导入功能上。每当我添加导入时,它就会中断

我让它在一台装有旧版 PHP 和 Python 的旧笔记本电脑上运行。

有什么想法吗

这是 php

<?php
 $command = escapeshellcmd("/usr/bin/python3 test-py.py");
 $output = shell_exec($command);
 echo $output;
 ?>

以下是输出文件的简单 Python whois

import sys
import whois

if len(sys.argv) != 2:
    print("Usage: python whois_ip.py <ip_address>")
    sys.exit(1)

ip_address = sys.argv[1]
w = whois.whois(ip_address)

with open("output.txt", "w") as f:
f.write(str(w))

print("WHOIS lookup results written to output.txt")

我的问题是 1 有没有想过为什么导入函数不再起作用?这可能是导入库的权限问题吗? 2 我的 PHP.ini 有 disabled_functions = ""(所以没有禁用任何功能,对吧?) 3 PHP 8.2.5 和 Python 3.9.6 有什么我应该注意的特殊之处吗?

感谢大家的帮助。谢谢

答案1

我找到了解决方案并在此分享。

在我的 XAMPP 配置文件中,有一个 httpd.conf,您可以在其中设置用户。我的设置为守护进程。我将其更改为我的本地用户名,并将 staff 设置为组。这样我的脚本的额外功能就可以正常工作了。

在此与可能遇到类似问题的人分享。

简而言之,这是运行 httpd 的用户的权限问题

相关内容