linux php 执行python,Linux(Ubuntu)下php使用exec调用python程序返回json数据

问题起因:解决乱码问题,及解决PHP调用python外部程序的权限问题

数据中带有中文,数据来自python读取微软数据库mssql2005 server的数据

操作注意事项主要有两点:

1.python返回的编码必须为utf-8

(1)    必须导入codecs模块,操作代码如下:

import codecs

# 重要,必须要加上才能转为utf-8

sys.stdout = codecs.getwriter('utf-8')(sys.stdout.detach())

(2) 这里使json格式返回,并非必要.

print(json.dumps(data,ensure_ascii=False))

这里的data是字典格式,方便转为合理的json格式。

820bbf7b13e8347ea0a2b00743106db3.png

2.php端在使用exec调用python外部程序时,必须使用$set_charset = 'export LANG=en_US.UTF-8;'加在调用的命令前面。如:

(1)//Linux版本

$cmd = "python  test.py  {$djdm}";

$set_charset = 'export LANG=en_US.UTF-8;';

exec($set_charset.$cmd,$res_data,$res_state);

(2)//Windown版本 不能使用$set_charset = 'export LANG=en_US.UTF-8;'加在调用的命令前面.

//Window版本

$cmd = "python ".PLUG_IN_DJBREAKS." {$djdm}";

exec($cmd,$res_data,$res_state)

;

998e6872c2c81e096e564672e29e9542.png

3.必须授权apache用户给php项目文件夹或在调用exec命令的php文件

授权方法:

(1)先查询apache的用户是哪了个

在apache的配置文件apache2.conf查找User 和 Group (User用户和Group用户组)是什么。

如这里查到User和Group都是www-data

4281bf8dd32e53520e54f7f0431a0c07.png

e17c5c08f973ba2a47e04061574619be.png

(2)进入etc目录并修改文件sudoers,增加用户和组www-data

在root下面增加www-data修改如下:

root    ALL=(ALL:ALL) ALL

www-data ALL=(ALL) NOPASSWD:ALL

注意sudoers是只读文件,使用超级管理员修改权限 sudo chmod 777 sudoers ,再修改 sudo vim sudoers.修改完收回权限。

d11b5fb89b9441bf767101a1e2edad7f.png

(3)使用ls -l查看php项目文件夹的用户和组是否为www-data.如果不是,则使用下面命令授权

chown -R www-data:www-data SPB_SYS

这里的SPB_SYS是项目目录.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502849.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实时获取滚动条的高度_适用于星上快速处理的雷达高度计有效波高反演技术

卫星雷达高度计的主要观测参数之一为有效波高,数据产品中其数值的确定通过波形重跟踪来实现(Retracking),波形重跟踪的实现主要通过最大似然迭代完成,其主要的反演公示为W(t) PFS(t)*qs(t)*sr(t)。式中包括:高度计海面回波由平坦…

基于python的modbus协议编程_通往未来的网络可编程之路:Netconf协议与YANG Model

近年来,随着全球云计算领域的不断发展与业务的不断增长,促使网络技术也不断发展,SDN技术应运而生,从最初的基于Openflow的转发与控制分离的核心思想,人们不断的去扩展SDN的外延,目前,人们可以达…

mfc color 亮度_双十一4K投影仪怎么选?小心别掉“亮度坑” - 电视

导读:  不少影音爱好者计划在双十一期间购入4K投影仪,组建家庭影院、升级视觉享受,却因为选购产品亮度不足,让期待落空,还耗费时间、精力。投影仪亮度不足,画面看起来像是蒙上一层纱,不清晰&a…

dosbox edit.exe 如何使用_宅家30天,2万字节java高级工程师面试题解析,如何斩获阿里p7...

宅家里一个月,“闭关修炼”的你是不是正在为金三银四跳槽季发愁呢?小编今天说的这富含的15个互联网大厂Java高级工程师核心面试问题整理!内容包括:kafka面试题及解析18道ZooKeeper面试题及解析28道Linux 面试真题及解析45道MySQL面…

3三星闪存刷梅林_三星电子副会长李在镕造访西安

5月18日,陕西省委书记胡和平、省长刘国中在西安会见了三星电子副会长李在镕。Source:陕西日报胡和平表示,当前,陕西疫情防控取得阶段性重要成果,经济社会秩序加快恢复,包括三星在内的外资企业保持良好运行态…

stata中介效应的sobel检验_SPSS进行中介效应检验的实战操作与分析——杏花开生物医药统计...

中介变量( Mediator) 是一个重要的统计概念,如果自变量X通过某一变量M对因变量Y产生一定影响,则称M为X和Y的中介变量。研究中介作用的目的是在已知X和Y关系的基础上,探索产生这个关系的内部作用机制。在这个过程中可以把原有的关于同一现象的…

鼠标图标怎么自定义_酷鱼魔鼠——给鼠标添加酷炫的特效

酷鱼魔鼠是由酷鱼软件开发的一款非常有趣的鼠标特效软件。软件可以在你移动或者点击鼠标的时候,展示非常酷炫华丽的鼠标移动轨迹和点击特效。软件提供了非常多的鼠标动作特效,可以自定义设置鼠标移动、按下、双击、单机、点击桌面图标时的特效效果。并且…

uml+oopc嵌入式c语言开发精讲_嵌入式开发中更接近底层的汇编与C语言

分享本文,介绍下更接近硬件底层的C语言与汇编,解释 CPU 如何执行代码。高级语言与低级语言学习编程其实就是学习与计算机交流的语言。因为计算机不理解人类语言,通过编译器把人类写的代码转成二进制代码,才能在机器上运行。掌握了…

delphi xe http 收不到反馈消息_好消息!浦东这个小区3幢多层住宅都要加装电梯啦→...

原标题:好消息!浦东这个小区3幢多层住宅都要加装电梯啦→好消息!东明路街道这个小区要加装电梯,还是3个!规划设计方案公示中快和小布一起看看吧!▽环林东路879弄加装电梯项目建设单位:上海市浦东…

php调用美图接口,网易美图 API 接口调用与请求方法详细教程

原标题:网易美图 API 接口调用与请求方法详细教程网易美图 API 接口在网上已经很多且大都封装成了 API 供别人调用。支持前台跨域请求,以POST方式提交图片即可。网易美图 API 接口会随机更新一张美图,你可以选择调用本站的接口,也…

nlp 财务提取_RPA,智慧财务时代的“珍妮纺织机”来了?

智慧财务020社群与知识分享|上方蓝字星标置顶订阅|转载商务合作请添加首财君微信:cfo_tian昨日重磅《百亿存款谜局2》新戏码下的资管拷问一文秒懂财务机器人(RPA)的拐点和跳点。文 | 首财君【原创】出品 | 首席财务官(ID:cfoworld…

安装oracle配置监听出错,安装失败,无法建立监听?

本帖最后由 tomfish88 于 2013-12-5 13:23 编辑原来的监听如何删除呢,我把注册表的也删除了,还是安装不成功,QQ截图20131203114715.png (70.13 KB, 下载次数: 2)2013-12-5 13:21 上传QQ截图20131205132007.png (8.28 KB, 下载次数: 1)2013-12…

数据量大的sql怎么做优化_搜索引擎关键词优化怎么做

搜索引擎关键词优化怎么做新媒体营销的兴起,而且是方兴未艾,因此与客户建立起良好关系,保持良好的口碑关系,让客户信任你,公司适合增值服务:或者利润多,同时能在业务管理、销售管理、人事管理等…

vba显示正在加载_简单、易用的VBA过程积木代码

分享成果,随喜真能量(这是我视频教程的开场白)。大家好,今天继续和大家分享VBA编程中常用的简单“积木”过程代码第76-80讲,内容是:保存当前工作簿的副本到其它位置备份;不显示警告框&#xff1…

linux关机_Linux中shutdown,halt,poweroff,init 0区别

1)shutdown命令我们较常使用的是shutdown这个命令,这个命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以…

php static_castunsigned int,static_cast揭密

本文讨论static_cast<> 和 reinterpret_cast<>。介绍大多程序员在学C前都学过C&#xff0c;并且习惯于C风格(类型)转换。当写C(程序)时&#xff0c;有时候我们在使用static_cast<>和reinterpret_cast<>时可能会有点模糊。在本文中&#xff0c;我将说明…

群晖 root_最新群晖DSM7.0降级教程

小广告:隔壁网1212活动开始,群晖DS920+和DS220+满300减40,购买酷狼8T赠送隔壁网邀请码和1年VIP,大刀价格微信咨询momo。 很多童靴,升级到DSM7.0后第三方套件无法用了,比如transmission,玩PT下载的童靴,需要谨慎升级。 这个方法wjq_xp分享的,非常感谢,前面部分和旧的降…

update关联一个视图的时候特别慢_实现一个简单的Vue.js

原文转自 https://const_white.gitee.io/gitee-blog/blog/vue/mini-vue/Vue响应式原理图片引自 孟思行 - 图解 Vue 响应式原理乞丐版 mini-vue实现mini-vue之前&#xff0c;先看看官网的描述。在Vue官网&#xff0c;深入响应式原理中&#xff0c;是这样说明的&#xff1a;每个组…

接口500什么原因_80%小餐饮店几乎都“活“不过500天,为什么?都在这5个原因里...

餐饮创业分享达人 原创作者&#xff1a;秦.关中我是餐饮创业实战经验分享达人&#xff0c;想要了解和学习更多餐饮实战经验&#xff0c;记得关注我哦&#xff01;希望我的分享能帮助大家在创业的道路上少走弯路&#xff0c;不踩坑&#xff0c;为你创业成功助上一臂之力。无论是…

padding-left在ie8中不生效_陆国应 律师从民法典第209条来看房屋未过户买卖合同是否生效?...

基本案例(案例来源于大律师教你怎样打官司)&#xff1a;张某与某公司签订了房屋买卖合同。双方在合同中约定&#xff1a;某公司将三居室一套售于张某&#xff0c;价款30万元&#xff0c;并约定该房屋于2018年2月1日前交付使用。此后&#xff0c;张某先后向某公司支付购房款人民…