大家好,我是编程小6,很高兴遇见你,有问题可以及时留言哦。
很多的伙伴是php开发出身的,面对当下流行的人工智能应用的不断普及,php显得有些无能为力。python作为一个连年热度不断攀升的开发语言,对人工智能 方面的应用开发也至关重要。那么我们怎么将两者结合起来。
和我一样,很多伙伴都喜欢“php是宇宙第一语言”。当然,php有着自身的优势,开发速度快,容易掌握等等。尤其在开发一些web应用方面更为强大,那我们就把web基础应用的智能交给php,把对数据的采集,处理这部分交给python。
将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);