PHP调用不起来Python脚本

薄洪涛6年前Linux1159

前几天做了个自动处理文件的python脚本,目前python脚本需要手动把文件放到特定文件夹下,自动去读取处理;但是老大觉得不方便,让我写了个文件上传页面,然后调用python的脚本,导出处理后的文件;

于是我就开始了,上传功能用php实现的,开始想的是,用php的exec直接调用问题应该不大;

很快,上传页面分分钟就写好了,服务器上python环境也配置好了,问题出现了,我用php传递参数(上传文件的在服务器上的保存路径)调用python脚本,发现没反应!!

然后我想了多种情况,python没权限?php-fpm的执行用户没权限?服务器没配置python变量?然后手动执行了下命令  “python xx.py  路径” 发现可以执行;

奇了怪了,折磨了3天(其实就是每天来到后花一个小时调,调不出来就处理其他的事情),第四天请教了老大,老大让我写个shell,用php调用shell

#!/bin/bash

/usr/local/bin/python3/bin/python3 /xxx/xxx/combine.py /xxxx/xxxx4e6c56ecde44ada121adb80cbe58134b.csv /home/xxx/xxx146c04fef96cf9d0186bd49a8c6eb335.csv > /tmp/p.log

结果发现能产生p.log文件,但是没有内容

#!/bin/bash

/usr/local/bin/python3/bin/python3 /xxx/xxx/combine.py /xxxx/xxxx4e6c56ecde44ada121adb80cbe58134b.csv /home/xxx/xxx146c04fef96cf9d0186bd49a8c6eb335.csv > /tmp/p.log 2>&1

于是老大又让加了个2>&1,哇,p.log出现错误信息了;

到此终于调通了,其实就是我的python脚本中有一些print输出了中文,然后php的exec中要求是ascci编码,不支持中文,所以就出现编码错误了;

总结下,其实如果能早点调试出错误信息的话不会耽误那么久的,还是自己对linux了解的太少;太菜了!!

标签: linux

相关文章

haproxy如何开启日志

默认haproxy是不记录日志的,但是调试的时候需要我们去记录日志,所以说一下日志的记录方法1.编辑 /etc/rsyslog.conf,放开如下代码,记住是udp# Provides&nb...

linux免密登陆

linux免密登陆

最近有些累,所以今天的教程就水一篇;所谓免密登陆,就是说我有一台服务器,不想让人家知道具体的ip或者用户名密码,只让使用者从跳板机登陆,通过ssh xxx@ip  这种来登陆;1、 首先跳板...

chmod引出的问题

chmod引出的问题

上传代码后,尝试访问出现如下错误先尝试对文件修改权限[root@host wechat.bohongtao.online]# chmod -R 755 ...

xshell做端口映射链接数据库

xshell做端口映射链接数据库

有些时候,公司的一些线上的数据库,数据太多,不适合复制到本地然后搭建本地数据库开发,直接链接数据库又不安全所以,需要通过xshell做端口转发,通过隧道来链接数据库1、首先通过xshell登陆跳板机2...

php脚本以守护进程的方式运行

写了一个聊天室,需要手动执行php start.php start命令去启动workerman的握手程序,但是退出xshell后,进程会被杀掉,因为之前用过node的forever,感觉php应该也有...

阿里云服务器更改默认ssh端口

我们通常服务器默认的ssh端口是22,但是使用默认端口是不安全的,所以我们需要更改ssh端口1.修改ssh配置文件vi /etc/ssh/sshd_config找到 #Port 22 ,然后...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。