Ответы пользователя по тегу PHP
  • Какой лучший способ передачи данных между PHP и Python скриптами?

    @Evgeny_A Автор вопроса
    Решение, найденное с подсказки xmoonlight

    Значит в PHP файл пихаем это:

    $sock = stream_socket_client('unix:///tmp/echo.sock', $errno, $errst); 
    fwrite($sock, $type); 
    $response = fread($sock, 1024); 
    fclose($sock);

    А в Python файл пихаем это:

    # Адрес файла, который будет мостиком для общения между PHP и Python
    SERVER_PATH = '/tmp/echo.sock'
    
    # Если файл уже есть, его надо удалять
    if os.path.exists(SERVER_PATH):
    
        os.remove(SERVER_PATH)
    
    # Создаем новый UNIX сервер
    server_socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
    server_socket.bind(SERVER_PATH)
    server_socket.listen()
    
    while True:
    
        client, adress = server_socket.accept()
        message = client.recv(1024)
        # Печатаем входящее сообщение
        print('received:', message.decode("utf-8"))
        # Отправляем ответ 
        client.send('This is my Response!'.encode())
    
    client.close()
    server_socket.close()
    print('UNIX сервер закрыт!')

    Запускаем Python файл из под того же пользователя, что и PHP файл и вуаля, все работает.
    Ответ написан
    3 комментария