PHP调用不起来Python脚本

薄洪涛6年前Linux1495

前几天做了个自动处理文件的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

相关文章

chmod引出的问题

chmod引出的问题

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

centos8 新增服务

我在centos8上部署了一个java服务,使用java -jar xx.jar来启动服务,但是对于停掉服务,就得使用kill命令,所以想着把它做成个服务原始命令如下:/www/server/java...

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

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

Cannot establish FTP connection to an SFTP server.

Cannot establish FTP connection to an SFTP server.

今天想上传个JDK,惊奇的发现,FileZilla连接不上,出现如下错误;很明显,我用FTP协议与一台使用了SFTP的服务器建立连接肯定是不行的,所以要改变协议;解决方法如下:打开File-Site...

服务器:swap告警,系统异常报错

服务器:swap告警,系统异常报错

登陆自己的小服务器,用composer下载个东西,一直报killed[root@host voyager]# composer require tcg/voya...

Nginx解决跨域问题

不解释,做个记录location / {     add_header Access-Control-Allow-Origin&n...

发表评论    

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