1、打开我们的linux命令行,准备好。
2、找到php的安装目录,主要是找到linux环境下,php可执行文件的目录。如图所示。笔者的目录为/opt/lampp/bin/php,将此目录记下,备用。
3、找到要运行的php文件所在的目录,随便写点php代码就可以,在此笔者已经准备好。/opt/lampp/htdocs/wechat/xjtest-web_browser/pcntl_test.php,将此目录记下,接下来就要正式开始运行了。
4、打开刚刚第一步打开的linux命令行,输入/opt/lampp/bin/php /opt/lampp/htdocs/wechat/xjtest-web_browser/pcntl_test.php(即依次输入刚刚的两个目录)注意两个目录中间有空格。
5、按下回车,可以看到,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" ); ?> lishixin/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关闭】
㈣ 如何用php运行linux命令,并获取返回信息
你想了解如何利用PHP执行Linux命令并获取返回信息吗?可以使用system(), exec(), passthru()这三个函数来实现。虽然这三个函数都能执行Linux系统的shell命令,但它们之间存在一定的区别:
system()会输出并返回命令的最后一行结果。而exec()则不会直接输出结果,而是返回命令的最后一行结果,并允许将所有结果保存到一个返回的数组中。passthru()则只调用命令,并将命令的运行结果直接输出到标准输出设备上。
它们的共同点在于都可以获取到命令执行的状态码。例如,你可以使用如下代码执行ls -al命令:
system("ls -al");
请注意,在使用这些函数之前,需要确保在php.ini配置文件中关闭了safe_mode。
这些函数在执行shell命令时提供了不同的输出和返回方式,可以根据具体需求选择合适的函数来使用。需要注意的是,在处理外部命令时要确保安全性,避免潜在的安全风险。
执行shell命令时,还需要注意命令的输入参数和输出结果的处理。正确地传递参数和解析结果对于确保命令的正确执行至关重要。
总之,根据不同的需求和场景,可以灵活选择system(), exec(), passthru()这三个函数来执行Linux命令并获取返回信息。正确使用这些函数可以大大提高开发效率和代码的灵活性。
在使用这些函数时,还需要注意一些安全事项。例如,避免直接拼接用户输入作为命令参数,以防止潜在的安全威胁。此外,确保命令的安全性和合法性,避免执行恶意或危险的命令。
总之,合理使用这些函数并注意安全事项,可以有效地利用PHP执行Linux命令并获取返回信息。这将为开发和系统管理带来很大的便利。
㈤ 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官方文档中亦有提及,请参考:
http://php.net/manual/en/features.commandline.usage.php
文档中关于脚本在命令行运行的示例,请参照:
“Example #2 Script intended to be run from command line (script.php)”