PHP 调用shell命令
可以使用的命令:
popen
fpassthru
shell_exec
exec
system
1.popen
resource popen
( string command, string mode )
打开一个指向进程的管道,该进程由派生给定的 command
命令执行而产生。
返回一个和 fopen()
所返回的相同的文件指针,只不过它是单向的(只能用于读或写)并且必须用 pclose()
来关闭。此指针可以用于 fgets()
,fgetss()
和 fwrite()
。
如果出错返回 FALSE
。
2.shell_exec
string shell_exec
( string cmd )
执行cmd命令,命令的结果存在返回结果中;
本函数在安全模式
下被禁用。
3.exec
string exec
( string command [, array &output [, int &return_var]] )
参数:
command
将要执行的命令
output
如果指定了output参数,则对应的array数组将会填满该命令输出的每一行。
return_var
如果指定了return_var参数,注意,return_var参数只有output参数被设定后才能指定,那么该命令的执行状态将会以结果参数的形式返回给该变量。
返回值:
返回改名了的最后一行结果。
范例
例子 1. An exec() example
[root@south4 demo]# vi test.php
#!/usr/bin/php -q
<?php
exec('ls /etc',$results,$ret);
echo $results[5] . "\n";
echo $results[12]. "\n";
echo $results[3]. "\n";
echo $ret;
?>
[root@south4 demo]# ./test.php
aliases
audit
adjtime
0
4.system
string system
( string command [, int &return_var] )
system是开一个bash进程的,执行完毕之后,就会释放,如下就会达不到目的:
system("cd /home/y/share/NBHadoop/scripts");
system("sudo -u yahoo ./nb_halfhourly.sh $yes_halfHour");
可以写成:
system("cd /home/y/share/NBHadoop/scripts;sudo -u yahoo ./nb_halfhourly.sh $yes_halfHour");
相关文档:
每个人都知道php.net,我们或早或晚的都会来到这里并不断的访问它。它是PHPer的主要参考网站,拥有大量有用的信息,但是这些信息却不是那么显而易见。
比较有用的官方PHP资源:
PHP官方函数手册下载: http://www.php.net/download-docs.php
包含最新的chm中文版本,HTML版本
中文函数手册:http://www.php.net/m ......
近来对php比较感兴趣,就断断续续的花了两个星期的时间把整个php开发需要用到的东西都装好了,大概的安装过程如下。
一、安装的软件:
Apache: 2.2.14
PHP:5.2.12
MySQL:5.1.42。
SVN:1.5.6
PHPMyAdmin:3.2.5
Zend Studio: 7.1
Zend Debugger: 5.1.14
二、安装过程:
1. 安装和配置apache
安装:首先从http://apa ......
1、模板的由来
在没有模板技术之前,使用PHP开发程序,通常都是php代码和html混编在一起。比如说新闻列表,很可能就是一个newslist.php页面,结构如下:
<?
//从数据库中读取出要显示的新闻记录
?>
<html>
<head>……..
</head>
<body>
<?
While ($news ......