PHP 执行system(mv。。。。) 执行失败?

把  #SELINUX=enforcing 

  改成  #SELINUX=disabled 

保存, :wq  最好重启下  # reboot 

PHP中的`system()`函数用于执行外部程序,并且能够将执行结果直接输出。这个函数的声明如下: ```php string system ( string $command [, int &$return_var ] ) ``` 这里,`$command` 是要执行的命令行字符串,`$return_var` 是一个可选的参数,用来接收命令执行后的返回状态码。 使用`system()`函数时,应当注意以下几点以确保其正确和安全地使用: 1. **安全问题**:直接使用`system()`函数可能会导致注入攻击,特别是当命令字符串是外部输入的时候。确保对任何外部输入进行适当的过滤和清理。 2. **输出问题**:`system()`函数的输出会被直接发送到浏览器,可能会造成一些布局上的问题。可以通过`ob_start()`函数开启输出缓冲,然后使用`ob_get_clean()`获取输出内容。 3. **权限问题**:执行外部命令需要相应的系统权限。如果没有适当的权限,命令执行将会失败。 4. **错误处理**:如果关心命令执行的成功与否,可以使用返回值变量来检查命令执行的状态。 示例代码: ```php <?php // 开启输出缓冲 ob_start(); // 执行系统命令 $command = 'ls -l'; // 示例命令,实际使用时应谨慎处理 $last_line = system($command, $return_var); // 获取并清除缓冲区的内容 $output = ob_get_clean(); // 输出执行结果和状态 echo "<pre>$output</pre>"; echo "Return Status: $return_var"; // 检查命令执行是否成功 if($return_var === 0) { echo "Command executed successfully"; } else { echo "Command failed with status $return_var"; } ?> ``` 在上面的代码中,我们使用`ob_start()`和`ob_get_clean()`来捕获命令的输出,并且检查了命令执行的状态码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值