文档章节

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

huangjacky
 huangjacky
发布于 2014/10/12 12:21
字数 292
阅读 36
收藏 0
点赞 0
评论 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
深圳
高级程序员
LAMP架构介绍、MySQL和MariaDB介绍、MySQL安装

1、LAMP 架构介绍 LAMP 是Linux、 Apache、 MySQL、 PHP的简写,其实就是把Apache、MySQL以及PHP安装在Linux系统上,组成一个环境来运行php的脚本语言。至于什么是php脚本语言,这边不介绍。...

JolieLin ⋅ 04/19 ⋅ 0

Python 虚拟环境 Virtualenv 分别在 Windows 和 Linux 上的安装和使用

virtualenv 是用来创建 Python 的虚拟环境的库,虚拟环境能够独立于真实环境存在,并且可以同时有多个互相独立的 Python 虚拟环境,每个虚拟环境都可以营造一个干净的开发环境,对于项目的依...

水手 ⋅ 06/14 ⋅ 0

CentOS环境下yum安装LAMP(Linux+Apache+Mysql+php)

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

bigTreee ⋅ 2015/07/09 ⋅ 0

php-config: /bin/sh^M: 坏的解释器: 没有那个文件或目录

因为一些项目需要安装一些PHP扩展,在执行./configure时提示 最开始以为这个文件被修改了,最终和测试服务器上的php-config进行对比发现内容都一样,但是执行php-config返回的结果却不一样,...

小菜鸟儿 ⋅ 04/27 ⋅ 0

Linux守护进程的启动方法(转)

作者: 阮一峰 日期: 2016年2月28日 "守护进程"(daemon)就是一直在后台运行的进程(daemon)。 本文介绍如何将一个 Web 应用,启动为守护进程。 一、问题的由来 Web应用写好后,下一件事就...

easonjim ⋅ 2017/12/26 ⋅ 0

linux环境Memcached的部署

一、安装libevent函数库 下载地址:http://libevent.org 默认被安装到:/usr/local/lib目录下 安装memcached之前需要先安装libevent函数库。 可以通过 ls -al /usr/local/lib | grep libeven...

vinci321 ⋅ 03/12 ⋅ 0

Argparse模块:python快捷实现命令行操作

python中的argparse模块可以方便地实现命令行解释操作,从而实现丰富的功能接口。 首先我们来看一段Shell代码: 接触过linux的人都知道,上面的一段代码中使用了‘ls’这个命令行参数,这个‘...

oldpan ⋅ 2017/11/13 ⋅ 0

LCUI 1.0 Beta 3 发布,C 的图形界面开发库

LCUI 是一个图形界面开发库,主要使用 C 语言编写,可借助 CSS 和 XML 来构建简单的桌面应用程序。 更新日志 问题修复 font: 因字体缓存位置计算错误而导致的 DeleteFont() 段错误 (5465c6b...

司徒永超 ⋅ 05/08 ⋅ 0

linux下用phpize给PHP动态添加扩展

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

Junn ⋅ 2013/09/02 ⋅ 0

如何在 Linux 终端下检查笔记本电池状态

在图形界面下查看你的笔记本电池状态是很容易的,只需将鼠标指向任务栏中的电池图标上,你便可以很容易地知道电池的电量。但如果我们想要从命令行中获得这些信息呢?并不是所有人都知道如何做...

06% ⋅ 05/16 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 34分钟前 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

存储,对比私有云和公有云的不同

导读 说起公共存储,很难不与后网络公司时代的选择性外包联系起来,但尽管如此,它还是具备着简单和固有的可用性。公共存储的名字听起来也缺乏专有性,很像是把东西直接堆放在那里而不会得到...

问题终结者 ⋅ 昨天 ⋅ 0

C++难点解析之const修饰符

C++难点解析之const修饰符 c++ 相比于其他编程语言,可能是最为难掌握,概念最为复杂的。结合自己平时的C++使用经验,这里将会列举出一些常见的难点并给出相应的解释。 const修饰符 const在c...

jackie8tao ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部