linux 执行php?linux搭建php环境
各位老铁们好,相信很多人对linux 执行php都不是特别的了解,因此呢,今天就来为大家分享下关于linux 执行php以及linux搭建php环境的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
PHP执行linux系统命令
首先先要给大家介绍PHP执行linux系统命令的几个基本函数我曾经很长一段时间都分不清下面几个函数的具体用法区别 system函数说明执行外部程序并显示输出资料语法 string system(string mand int [return_var]);返回值:字符串详细介绍本函数就像是 C语中的函数 system()用来执行指令并输出结果若是 return_var参数存在则执行 mand之后的状态会填入 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 mand string [array] int [return_var]);返回值:字符串详细介绍本函数执行输入 mand的外部程序或外部指令它的返回字符串只是外部程序执行后返回的最后一行若需要完整的返回字符串可以使用 PassThru()这个函数要是参数 array存在 mand会将 array加到参数中执行若不欲 array被处理可以在执行 exec()之前呼叫 unset()若是 return_var跟 array二个参数都存在则执行 mand之后的状态会填入 return_var中值得注意的是若需要处理使用者输入的资料而又要防止使用者耍花招破解系统则可以使用 EscapeShellCmd()实例代码
<?php echo exec( whoami);?><?$fp= popen("/bin/ls""r");?> lishixinzhi/Article/program/PHP/201311/21017
如何通过PHP执行linux命令
你想问得是php如何执行shell命令把?\x0d\x0a\x0d\x0a可以用system(),exec(),passthru()这三个函数实现\x0d\x0a虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的:\x0d\x0a system()输出并返回最后一行shell结果。\x0d\x0a exec()不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。\x0d\x0a passthru()只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。\x0d\x0a相同点:都可以获得命令执行的状态码\x0d\x0a例子:system("ls-al");\x0d\x0a【使用之前要在php.ini中把safe_mode关闭】
Unix/Linux中如何直接执行PHP脚本文件
使用Linux系统搭建完整的PHP环境后,用户常会遇到执行PHP脚本需要使用php myscript.php的方式,感觉较为繁琐。实际上,Linux系统支持直接执行PHP脚本文件。具体操作步骤如下:
首先,编写PHP脚本文件。例如,创建名为test_run.php的文件,内容如下:
Here is some plain text.
Here is the file name:
《?php
echo$argv[0], PHP_EOL;
》
脚本功能简单,输出当前脚本文件的名称。
接着,通过命令执行脚本:
yuanyu@ymac:phpworkspace$ php test_run.php hello
输出结果为:
Here is some plain text.
Here is the file name:
test_run.php
yuanyu@ymac:phpworkspace$
为脚本文件增加头信息及设置权限:
在文件首行添加php命令全路径,前缀为#!:
#!/usr/bin/php
保持脚本内容不变:
《?php
echo$argv[0], PHP_EOL;
》
执行赋予可执行权限:
yuanyu@ymac:phpworkspace$ chmod u+x。/test_run.php
即可直接执行脚本:
yuanyu@ymac:phpworkspace$。/test_run.php
输出结果为:
Here is some plain text.
Here is the file name:
/test_run.php
yuanyu@ymac:phpworkspace$
此方法在PHP官方文档中亦有提及,请参考:
文档中关于脚本在命令行运行的示例,请参照:
“Example#2 Script intended to be run from command line(script.php)”