
У меня есть простой локальный сайт с 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, где вы устанавливаете пользователя. У меня он был установлен на daemon. Я изменил его на свое локальное имя пользователя, а staff — на группу. Это позволяет работать дополнительным функциям моего скрипта.
Поделитесь этим здесь для тех, у кого могут возникнуть похожие проблемы.
Короче говоря, это была проблема с правами доступа у пользователя, который запускал httpd.