好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php执行主函数 php代码执行函数

很多站长朋友们都不太清楚php执行主函数,今天小编就来给大家整理php执行主函数,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 PHP如何持续执行一个函数? 2、 PHP执行linux系统命令的常用函数使用说明 3、 如何单击按钮执行PHP的函数 4、 php中点击一个按钮,执行一个内置函数 5、 php主函数怎么定义和应用 PHP如何持续执行一个函数?

PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(), shell_exec()

1)exec()

原型: string exec ( string $command [, array $output [, int $return_var ]] )

说明: exec执行系统外部命令时不会输出结果,而是返回结果的最后一行。如果想得到结果,可以使用第二个参数,让其输出到指定的数组。此数组一个记录代表输出的一行。即如果输出结果有20行,则这个数组就有20条记录,所以如果需要反复输出调用不同系统外部命令的结果,最好在输出每一条系统外部命令结果时清空这个数组unset($output),以防混乱。第三个参数用来取得命令执行的状态码,通常执行成功都是返回0。

<?php

exec("dir",$output);

print_r($output);

?>

2)system()

原型: string system ( string $command [, int $return_var ] )

说明: system和exec的区别在于,system在执行系统外部命令时,直接将结果输出到游览器,如果执行命令成功则返回true,否则返回false。第二个参数与exec第三个参数含义一样。

<?php

system("pwd");

?>

3)passthru()

原型: void passthru ( string $command [, int $return_var ] )

说明: passthru与system的区别,passthru直接将结果输出到游览器,不返回任何值,且其可以输出二进制,比如图像数据。第二个参数可选,是状态码。

<?php

header("Content-type:image/gif");

passthru("/usr/bin/ppm2tiff /usr/share/tk8.4/demos/images/teapot.ppm");

?>

4)shell_exec()

原型: string shell_exec(string $cmd)

说明: 直接执行命令$cmd

<?php

$output = shell_exec('ls -lart');

echo "<pre>$output</pre>";

?>

防超时的处理方法:

当执行命令的返回结果非常庞大时,可以需要考虑将返回结果输出至其他文件,再另行读取文件,这样可以显著提高程序执行的效率。

如果要执行的命令要花费很长的时间,那么应该把这个命令放到系统的后台去运行。但在默认情况下,

象system()等函数要等到这个命令运行完才返回(实际上是在等命令的输出结果),

这肯定会引起PHP脚本的超时。解决的办法是把命令的输出重定向到另外一个文件或流中,如:

<?php

system("/usr/local/bin/order_proc > /tmp/abc ");

?>

<?

$filename=time().".data";

exec("/app/gm/gm_center/test/hello.py > $filename",$output);

var_dump ($output);

?>

PHP执行linux系统命令的常用函数使用说明

system函数

说明:执行外部程序并显示输出资料。

语法:string

system(string

command,

int

[return_var]);

返回值:

字符串

详细介绍:

本函数就像是

C

语中的函数

system(),用来执行指令,并输出结果。若是

return_var

参数存在,则执行

command

之后的状态会填入

return_var

中。同样值得注意的是若需要处理用户输入的资料,而又要防止用户耍花招破解系统,则可以使用

EscapeShellCmd()。若

PHP

以模块式的执行,本函数会在每一行输出后自动更新

Web

服务器的输出缓冲暂存区。若需要完整的返回字符串,且不想经过不必要的其它中间的输出界面,可以使用

PassThru()。

实例代码:

复制代码

代码如下:

<

?php

$last_line

=

system('ls',

$retval);

echo

'Last

line

of

the

output:

'

.

$last_line;

echo

'<hr

/>Return

value:

'

.

$retval;

?>

exec函数

说明:执行外部程序。

语法:string

exec(string

command,

string

[array],

int

[return_var]);

返回值:

字符串

详细介绍:

本函数执行输入

command

的外部程序或外部指令。它的返回字符串只是外部程序执行后返回的最后一行;若需要完整的返回字符串,可以使用

PassThru()

这个函数。

要是参数

array

存在,command

会将

array

加到参数中执行,若不欲

array

被处理,可以在执行

exec()

之前呼叫

unset()。若是

return_var

跟

array

二个参数都存在,则执行

command

之后的状态会填入

return_var

中。

值得注意的是若需要处理使用者输入的资料,而又要防止使用者耍花招破解系统,则可以使用

EscapeShellCmd()。

实例代码:

复制代码

代码如下:

<

?php

echo

exec('whoami');

?>

popen函数

说明:打开文件。

语法:int

popen(string

command,

string

mode);

返回值:

整数

详细介绍:

本函数执行指令开档,而该文件是用管道方式处理的文件。用本函数打开的文件只能是单向的

(只能读或只能写),而且一定要用

pclose()

关闭。在文件操作上可使用

fgets()、fgetss()

与

fputs()。若是开档发生错误,返回

false

值。

实例代码:

复制代码

代码如下:

<

?

$fp

=

popen("/bin/ls","r"

);

?>

PHP监控linux服务器负载

在实际项目的应用中,我们由于各种条件的现实,利用PHP来实现服务器负载监控将是一种更为灵活的方式。

由于Web

Server以及PHP的实现方式所限,我们在现实环境中很难利用PHP去调用一些Linux中需要root权限才能执行的程序,对此,我从网上找到另外一种方式来绕开这个限制。首先先写个c程序中转调用系统命令,然后用PHP去执行此c程序。

c程序

首先写个c文件,比如/usr/local/ismole/w.c

复制代码

代码如下:

#include<stdio.h>

#include<stdlib.h>

#include<systypes.h>

#include<unistd.h>

int

main()

{

uid_t

uid

,euid;

//note

获得当前的uid

uid

=

getuid();

//note

获得当前euid

euid

=

geteuid();

//note

交换这两个id

if(setreuid(euid,

uid))

perror("setreuid");

//note

执行将要执行linux系统命令

system("/usr/bin/w");

return0;

}

编译该文件gcc

-o

w

-Wall

w.c,这时会在当前目录下生成程序w。改变此程序的属主chmod

u+s

./w。

PHP执行

文件内容如下,放在web目录下,访问就会输出当前的服务器负载情况。

复制代码

代码如下:

<?php

/*

More

Original

PHP

Framwork

Copyright

(c)

2007

-

2008

IsMole

Inc.

$Id:

serverMonitor.php

408

2008-12-02

08:07:40Z

kimi

$

*/

//note

key的验证过程

if($key

!=

$authkey)

{

//

exit('key

error);

}

$last_line

=

exec('/usr/local/ismole/w',

$retval);

$returnArray

=

explode("load

average:

",

$retval[0]);

$returnString

=

$returnArray[1];

echo

$returnString;

按照上面的实例,我们可以用PHP来做任何我们想执行的Linux系统命令,SVN更新,服务器监控,备份,恢复,日常维护等等。

如何单击按钮执行PHP的函数

进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:cd curl

执行phpize生成编译文件,phpize在PHP安装目录的bin目录下

/usr/local/php5/bin/phpize

运行时,可能会报错:Cannot find autoconf. Please check your autoconf installation and

the $PHP_AUTOCONF

environment variable is set correctly and then rerun this

script.,需要安装autoconf:

yum install autoconf(RedHat或者CentOS)、apt-get install

autoconf(Ubuntu Linux)

/usr/local/php5/bin/php -v

执行这个命令时,php会去检查配置文件是否正确,如果有配置错误,

这里会报错,可以根据错误信息去排查!

php中点击一个按钮,执行一个内置函数

<!--?

ignore_user_abort();

//即使Client断开(如关掉浏览器),PHP脚本也可以继续执行.

set_time_limit(0);

//

执行时间为无限制,php默认的执行时间是30秒,通过set_time_limit(0)可以让程序无限制的执行下去

$interval=60*5;

//

每隔5分钟运行

do{

$fp

= fopen("test.txt","a");

fwrite($fp,"rn".date('Y-m-d

H:i:s',time())."rn");

fclose($fp);

sleep($interval);

//

按设置的时间等待5分钟循环执行

}while(true);

echo

'ok';

?-->

php主函数怎么定义和应用

可以在公共的地方定义:

function test($name){

echo $name;

}

调用:test('123');

关于php执行主函数的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php执行主函数 php代码执行函数的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did208865
更新时间:2023-05-03   阅读:27次

上一篇: phpword文档 php doctrine

下一篇:php怎么弹出是否删除 php点击按钮删除数据

最新资料更新

  • 1.php查询数组找到 php查找数组元素
  • 2.php登录注册论文 php写注册登录
  • 3.php数值内存溢出 php大数组内存溢出
  • 4.php时间戳转换字符串 php 时间戳转日期
  • 5.铜仁php招聘信息 铜仁工作招聘信息
  • 6.php批量取中间 php批量删除数据
  • 7.包含php7.0.10的词条
  • 8.phpsessions phpsession使用
  • 9.php设备判断在线 php判断用户在线状态
  • 10.phpword读写 php读写word 文档
  • 11.怎么写php需求 php市场需求
  • 12.php字体和颜色 php字体样式代码
  • 13.php个人博客ppt php博客模板
  • 14.php网页打印控件谷歌 php打印插件
  • 15.整站系统php源码 php企业网站整站源码
  • 16.原生php提交form php原生开发的好处
  • 17.php开启sslopen php开启gd库
  • 18.PHP画饼图动态 python 动态饼图
  • 19.php实现小说目录的方法 php自动生成小说
  • 20.php有类似cmap 与php类似的语言

CopyRight:2016-{hedonghua:year}{hedonghua:sitegs} 备案ICP:湘ICP备09009000号-16 {hedonghua:sitejym}
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]