Code前端首页关于Code前端联系我们

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

terry 2年前 (2023-09-30) 阅读数 53 #PHP
文章标签 in_array()

本文目录一览:

  • 1、linux如何用shell运行一个php脚本?
  • 2、如何使用PHP调用SHELL命令?调用后并且执行SHELL命令
  • 3、PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
  • 4、如何让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");

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门