PHP中如何执行shell命令 phpwebshellcmd 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的意思是把log重定向么?比如system("top -b -d 1 -n 100 > /root/top.log“); 输出top 信息,每次间隔1s,输出100次,重定向到top.log。但是我运行完没有看到top.log。这是测试代码:<!DOCTYPE html><html><body><?phpecho "host name: ";echo shell_exec('uname -n');echo "<br>";?><?php echo $_GET["PERF_HOME"]; echo "<br>"; ?><?php echo $_GET["TIME_SPAN"]; echo "<br>"; ?><?php echo $_GET["OUTPUT_HOME"]; echo "<br>"; ?><?php echo $_GET["DATABASE"]; echo "<br>"; ?><?phpsystem("top -b -d 1 -n 100 > /root/top.log");?></body></html>难道您说的是用popen么?能详细一点么,php我接触的比较少 权限够 执行 <?phpsystem("top -b -d 1 -n 100 > /root/top.log");?> 是没任何问题的,并且也正常的产生了日志文件.你的是centos吗?ubuntu 下 一切正常 问题描述的不够清楚,是这样的,我希望通过php启动一个异步的linux进程来执行我的任务,我只需要拿到进程pid就好了。如何实现 我的是centos 6.5, 我在ubuntu 12.0LTS上跑,为啥浏览器直接下载.php文件了? 我的是centos 6.5, 我在ubuntu 12.0LTS上跑,为啥浏览器直接下载.php文件了?我的是centos 6.5, 我在ubuntu 12.0LTS上跑,为啥浏览器直接下载.php文件了?root@wcao-OptiPlex-380:/var/www# php -versionPHP 5.3.10-1ubuntu3.13 with Suhosin-Patch (cli) (built: Jul 7 2014 18:52:09) Copyright (c) 1997-2012 The PHP GroupZend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies 我的是centos 6.5, 我在ubuntu 12.0LTS上跑,为啥浏览器直接下载.php文件了?直接下载PHP文件 说明你的WEB 服务端并没有正常的搭建起来... 恩,ubuntu上装了php, apache2没有重启,重启后就正常了。还是那个问题啊,如果是jsp的话我倒是可以new Thread(runnable)这种方式去启动一个进程,但是php里不知道咋整唉 我找到解决办法了,php-resque用这个框架可以处理request的后台任务。 给你推荐一个Linux/Unix 命令行工具的包:ShellWrap 库require 'ShellWrap.php';use \MrRio\ShellWrap as sh; //列出当前文件下的所有文件echo sh::ls(); //检出一个git分支sh::git('checkout', 'master'); //你也可以通过管道把一个命令的输出用户另一个命令//下面通过curl跟踪位置,然后通过grep过滤’html’管道来下载example.com网站echo sh::grep('html', sh::curl('http://example.com', array( 'location' => true))); //新建一个文件sh::touch('file.html'); //移除文件sh::rm('file.html'); //再次移除文件(这次失败了,然后因为文件不存在而抛出异常)try { sh::rm('file.html');} catch (Exception $e) { echo 'Caught failing sh::rm() call';} 一个典型的重启网卡发给你参考下!!!$handle = popen ( "sudo -u \\#0 /sbin/service network restart 2>&1", "r" ); if ($handle) { $msg = ""; while ( ! feof ( $handle ) ) { $msg .= fgets ( $handle, 1024 ); } pclose ( $handle ); return true; } return false; 啊啊啊。。我二逼了。下载下来不会用啊。git clone https://github.com/MrRio/shellwrap路径在: /root/git/shellWrap然后怎么把它安装到我的php库里去啊我的php文件都放在/var/www目录下在php里引用shellWrap,但是没用<?phprequire_once 'vendor/autoload.php';use MrRio\ShellWrap as sh;echo sh::ls();?>这个是神码意思?求指教! 数据库 帮我把这函数精简下啊,, 如何修改mysql权限 php 关于后台调用执行程序后 自动把生成的文件导入数据库 php可以操作word文档吗 PHP5连接ORACLE9的问题 500分请教一个问题 如何用php取得地址栏的东东呢? 这是为什么?需要帮助 php中<script language="javascript"></script>语句没用 41除以3 svn扩展安装遇到问题
比如system("top -b -d 1 -n 100 > /root/top.log“); 输出top 信息,每次间隔1s,输出100次,重定向到top.log。但是我运行完没有看到top.log。
这是测试代码:<!DOCTYPE html>
<html>
<body><?php
echo "host name: ";
echo shell_exec('uname -n');
echo "<br>";
?><?php echo $_GET["PERF_HOME"]; echo "<br>"; ?>
<?php echo $_GET["TIME_SPAN"]; echo "<br>"; ?>
<?php echo $_GET["OUTPUT_HOME"]; echo "<br>"; ?>
<?php echo $_GET["DATABASE"]; echo "<br>"; ?><?php
system("top -b -d 1 -n 100 > /root/top.log");
?>
</body>
</html>
难道您说的是用popen么?能详细一点么,php我接触的比较少
system("top -b -d 1 -n 100 > /root/top.log");
?> 是没任何问题的,并且也正常的产生了日志文件.你的是centos吗?ubuntu 下 一切正常
root@wcao-OptiPlex-380:/var/www# php -version
PHP 5.3.10-1ubuntu3.13 with Suhosin-Patch (cli) (built: Jul 7 2014 18:52:09)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
还是那个问题啊,如果是jsp的话我倒是可以new Thread(runnable)这种方式去启动一个进程,但是php里不知道咋整唉
用这个框架可以处理request的后台任务。
require 'ShellWrap.php';
use \MrRio\ShellWrap as sh;
//列出当前文件下的所有文件
echo sh::ls();
//检出一个git分支
sh::git('checkout', 'master');
//你也可以通过管道把一个命令的输出用户另一个命令
//下面通过curl跟踪位置,然后通过grep过滤’html’管道来下载example.com网站
echo sh::grep('html', sh::curl('http://example.com', array(
'location' => true
)));
//新建一个文件
sh::touch('file.html');
//移除文件
sh::rm('file.html');
//再次移除文件(这次失败了,然后因为文件不存在而抛出异常)
try {
sh::rm('file.html');
} catch (Exception $e) {
echo 'Caught failing sh::rm() call';
}
if ($handle) {
$msg = "";
while ( ! feof ( $handle ) ) {
$msg .= fgets ( $handle, 1024 );
}
pclose ( $handle );
return true;
}
return false;
git clone https://github.com/MrRio/shellwrap
路径在: /root/git/shellWrap
然后怎么把它安装到我的php库里去啊
我的php文件都放在/var/www目录下
在php里引用shellWrap,但是没用
<?php
require_once 'vendor/autoload.php';
use MrRio\ShellWrap as sh;
echo sh::ls();
?>
这个是神码意思?求指教!