PHP中exec、system等函数调用linux命令问题

本文介绍了如何使用PHP中的exec函数来调用Linux命令,并详细解释了确保非root用户能够顺利执行命令所需的安全设置及配置步骤。
  今天在编写程序的时候需要调用linux命令,在linux上怎么执行都可以,但是用php执行的时候就是不好用。经过查资料得出以下解决方法,与大家共享以下。
  PHP中提供了几个调用linux命令的函数,exec、system、passthru,函数使用请参考手册,这里不具体介绍。下面我以exec函数为例具体介绍:
  比如LINUX中修改服务器时间命令是 /bin/date -s ’2010-05-28 13:10′,我们通过php函数exec调用这个命令执行修改时间exec(“sudo /bin/date -s ’2010-05-28 13:10′”,$out,$status);其中$out是输出值,$status是返回值0或1,如果返回0则执行成功,返回1则执行失败。要通过PHP成功执行这个命令(PHP运行用户非root)需要检查以下几点:
  1、首先查看php运行用户,可以在web服务器配置文件中查看,或者运行
  
     直接查看。
  比如我的运行用户是www,编辑/etc/sudoers文件
  vi /etc/sudoers
  首先加上www用户  www ALL=(ALL)   NOPASSWD:ALL
  下面是我配置的,对自定义的shell脚本进行配置。
  QQ截图20131120184534
  这表示www用户运行的时候不用输入密码。
  2、查看php.ini中配置是否打开安全模式,主要是以下三个地方
  safe_mode =  (这个如果为off下面两个就不用管了)
  disable_functions = 
  safe_mode_exec_dir=
  OVER,下面你就可以用exec调用linux命令执行了。

转载于:https://www.cnblogs.com/songchaoke/p/3434130.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值