我有一个简单的本地主机网站,其中有一个 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 的用户的权限问题