php怎么调用python_php和python交互

Php (137) 2023-03-24 21:02

大家好,我是编程小6,很高兴遇见你,有问题可以及时留言哦。

很多的伙伴是php开发出身的,面对当下流行的人工智能应用的不断普及,php显得有些无能为力。python作为一个连年热度不断攀升的开发语言,对人工智能 方面的应用开发也至关重要。那么我们怎么将两者结合起来。

php怎么调用python_php和python交互_https://bianchenghao6.com/blog_Php_第1张

php到底是不是宇宙第一语言?

和我一样,很多伙伴都喜欢“php是宇宙第一语言”。当然,php有着自身的优势,开发速度快,容易掌握等等。尤其在开发一些web应用方面更为强大,那我们就把web基础应用的智能交给php,把对数据的采集,处理这部分交给python。

php怎么调用python_php和python交互_https://bianchenghao6.com/blog_Php_第2张

没错就是这个好东西来帮助我们

将php与python进行业务衔接的主要是通过socket服务来实现。我们首先需要启动一个服务,并监听这个服务的端口。我们创建一个文件php_python.py,并且执行命令:python php_python.py.这样我们就启动了一个socket,并且监听端口为21230

# -*- coding: utf-8 -*-
# @Author: Wang chunsheng  email:2192138785@qq.com
# @Date:   2020-05-21 11:33:03
# @Last Modified by:   Wang chunsheng  email:2192138785@qq.com
# @Last Modified time: 2020-05-21 13:54:17
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

import time
import socket
import os
import process

# -------------------------------------------------
# 基本配置
# -------------------------------------------------
LISTEN_PORT = 21230     #服务侦听端口
CHARSET = "utf-8"       #设置字符集(和PHP交互的字符集)

# -------------------------------------------------
# 主程序
#    请不要随意修改下面的代码
# -------------------------------------------------
if __name__ == '__main__':

    print ("-------------------------------------------")
    print ("- PPython Service")
    print ("- Time: %s" % time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) )
    print ("-------------------------------------------")

    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  #TCP/IP
    sock.bind(('', LISTEN_PORT))
    sock.listen(5)

    print ("Listen port: %d" % LISTEN_PORT)
    print ("charset: %s" % CHARSET)
    print ("Server startup...")

    while 1:
        connection,address = sock.accept()  #收到一个请求

        #print ("client's IP:%s, PORT:%d" % address)

        # 处理线程
        try:
            process.ProcessThread(connection).start()
        except:
            pass
   

下来我们就可以使用php想socket发送数据,包括调用那个python文件,具体什么方法,传递什么参数。

 $python = new Ppython([
  		 'moduleName' => 'diandi_gathergoods',
 ]);
$data = $python->py('taobao.login::login',参数1,参数2,参数N);

发表回复