您的位置:

shell中使用php命令(php shell函数)

本文目录一览:

linux如何用shell运行一个php脚本?

在 Linux 下执行 php 脚本时通常是使用以下命令(视php安装路径而定):

/usr/local/php/bin/php test.php

另外,为简化输入可把此php执行程序 copy 到系统命令目录下:

cp /usr/local/php/bin/php /usr/sbin/

验证:输入以下命令,如正确获取 php 版本,说明操作成功。

php -v

参考:

如何使用PHP调用SHELL命令?调用后并且执行SHELL命令

解除sysyem() passthru() exec()等函数禁用。

执行passthru('ps -ef');可以得到这条命令的输出内容。正则得到所需内容,然后再调用这些函数执行操作。具体用法翻翻手册。

PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码

复制代码

代码如下:

$command

=

'/usr/bin/php

/pub/www/u111/job/Crondo/auto_collector.php

';

$process

=

proc_open($command,

array(),$pipes);

$var

=

proc_get_status($process);

proc_close($process);

//pid就是进程ID,至于为什么要加1,我现在也没有搞懂,经过多次的测试,发现$var['pid']得到的ID比实际的少1

$pid

=

intval($var['pid'])+1;

//杀死进程

proc_close(proc_open('kill

-9

'.$pid,

array(),

$pipes));

如何让php执行shell

php给我们提供了system(),exec(),passthru()这三个函数来调用外部的命令.

虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的:

system() 输出并返回最后一行shell结果。

exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。

passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。

相同点:都可以获得命令执行的状态码

例子:system("/usr/local/bin/webalizer/webalizer");