文档章节

php - 执行Linux命令没有报错但也没有输出

huangjacky
 huangjacky
发布于 2014/10/12 12:21
字数 292
阅读 44
收藏 0

今天我需要在同事访问我的PHP页面的时候执行一段python脚本,于是我的代码是这样写的:

1 <?php
 2     function my_workjob(){
 3         $this->makeLog('ok run workjob');
 4         if($this->is_internal()){
 5             $cmd = '/usr/bin/python /data/script/abc/run.py';
 6             $out = system($cmd);
 7             echo 'run';
 8             echo $out;
 9         }else{
10             echo 'hehe';
11         }
12     }

但是实际运行效果除了run 什么都没有。我猜想是用户没有权限,于是相关的目录+x,但是还是不行。接着尝试命令如下:

su -c "/usr/bin/python /data/script/abc/run.py" www

命令行中也无任何输出。因此我怀疑是php解析器所在的用户的问题,接着执行如下命令:

cat /etc/passwd

得到如下效果:

www:x:30:8:WWW daemon apache:/var/lib/www:/bin/false

大家可以看到最后是/bin/false,也就是说www用户是没有shell的,因此也就执行不了命令,那么接下来就是给它shell环境,执行如下命令:

usermod -s /bin/bash www

这样之后一切正常了。最后说一句php中还是最好不要调用系统命令。。。

本文转载自:http://www.cnblogs.com/huangjacky/p/4002421.html

共有 人打赏支持
huangjacky
粉丝 5
博文 19
码字总数 0
作品 0
深圳
高级程序员
yum安装salt-ssh失败的解决

  yum安装salt-ssh报错: [root@linux-node1 yum.repos.d]# yum install salt-ssh -y已加载插件:fastestmirrorbase | 3.6 kB 00:00:00epel...

YuriGagarin
06/26
0
0
CentOS环境下yum安装LAMP(Linux+Apache+Mysql+php)

向原作者致谢。! 、其实不太喜欢转载这种文章的 网上到处都是,只是今天在给一个CentOS配一个网站时各种蛋疼,里面已经运行了MYSQL和apache,但是没有PHP, yum install php5 之后,没有各种...

bigTreee
2015/07/09
0
0
linux下用phpize给PHP动态添加扩展

phpize简介 phpize 是属于 php-devel 中的东西,主要是设定 php 外挂模块的一些设定 所以安装 php-devel 相关套件就会有 phpize 可以使用 (档案预设存放于 /usr/bin/phpize ) phpize 命令是用...

Junn
2013/09/02
0
0
CentOS下php安装mcrypt扩展

(以下步骤均为本人实际操作,可能与你的安装方法有所区别,但我会尽量排除疑惑) 大致步骤(1)安装mcrypt,(2)安装php对mcrypt的扩展,(3)重启apache (1)、确认你的linux没有安装mcr...

Wall_Z
2014/06/28
0
0
centos安装PHP扩展(bcmath)

东西多容易忘记!写下来备份; linux下用phpize给PHP动态添加扩展 使用php的常见问题是编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想删除目录重...

尐桀
2012/10/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

(三)Nginx配置·续

概述 前文写了关于Nginx环境配置,但是还没有完,接下来将会继续讲三个相关的配置 主要是以下三个 1.Nginx访问日志 2.Nginx日志切割 3.静态文件不记录日志和过期时间 Nginx访问日志 1.先看看...

杉下
今天
1
0
jquery创建类似于java的map

var map = {}; // Map map = new HashMap(); map[key] = value; // map.put(key, value); var value = map[key]; // Object value = map.get(key); var has = key in map; // boolean has = ......

SuperDabai
今天
0
0
java大数据转换16进制转10进制

public static void main(String[] args) {String hex = "0xdbf3accc683297cf0000";BigInteger amount = new BigInteger(hex.substring(2), 16);System.out.println(amount);......

任梁荣
昨天
2
0
OSChina 周六乱弹 —— 目测我们程序员丁克的几率不大

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @真Skr小机灵鬼儿:8.13分享Jocelyn Pook/Russian Red的单曲《Loving Strangers》 《Loving Strangers》- Jocelyn Pook/Russian Red 手机党少...

小小编辑
昨天
15
4
TypeScript基础入门 - 函数 - 剩余参数

转载 TypeScript基础入门 - 函数 - 剩余参数 项目实践仓库 https://github.com/durban89/typescript_demo.gittag: 1.2.1 为了保证后面的学习演示需要安装下ts-node,这样后面的每个操作都能...

durban
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部