php执行linux命令 php执行系统命令函数

linux下退出终端,让PHP程序继续执行的命令1:在终端中执行PHP的命令为:
$php test.php
2.如果想使用control c不终止php文件的执行的话使用命令:
$php test.php
3.如果想退出终端以后php文件继续执行的话使用命令:
$nohup php test.php
4.终止线程运行
$kill -9 线程id
php如何执行linux的curl指令PHP 中执行系统命令有几种方式php执行linux命令:
system()php执行linux命令:和 C 语言中php执行linux命令的 system() 函数的用法是一样的php执行linux命令,参数为命令行 , 成功则返回命令输出的最后一行,失败则返回 FALSE 。
shell_exec():执行命令,然后返回命令执行后的 stdout 输出 。
passthru():直接执行命令,然后将输出内容直接显示到网页上 。
在这里,curl 的输出不用显示到网页上,所以 system() 可能比较合适 。
linux怎么查看php启动命令?启动php-fpm 。
/usr/local/php5/sbin/php-fpm /usr/local/php5/为php-fpmphp执行linux命令的安装地址 。
/usr/local/php-5.6.3/sbin/php-fpm-R #如果报错显示不能用root用户启动php执行linux命令,则可以考虑使用-R命令 。
查看是否启动成功php执行linux命令:
netstat-lnt|grep9000
tcp00127.0.0.1:90000.0.0.0:*LISTEN
或者使用如下命令,查看是否9000端口被php-fpm占用:
netstat-tunpl|grep9000
tcp 0 0127.0.0.1:9000 0.0.0.0:* LISTEN 2124/php-fpm 。
关于PHP运行linux环境中命令出现的问题 。
php一般是以apache用户身份去执行的 。
也可能是www用户,把apache加入到存储php执行linux命令你文件的父文件夹属组里去 。
然后改该父文件夹权限为775 , 这样属组成员就有写的权限,而apache属于这个组就可以改写该目录下所有文件的权限 。
如何通过PHP执行linux命令你想问得是php如何执行shell命令把?\x0d\x0a\x0d\x0a可以用system(),exec(),passthru()这三个函数实现\x0d\x0a虽然这三个命令都能执行linux系统的shell命令 , 但是其实他们是有区别的:\x0d\x0asystem() 输出并返回最后一行shell结果 。\x0d\x0aexec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面 。\x0d\x0apassthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上 。\x0d\x0a相同点:都可以获得命令执行的状态码\x0d\x0a例子:system("ls -al");\x0d\x0a【使用之前要在php.ini中把safe_mode关闭】
LINUX NGINX下的PHP shell_exec()函数执行linux命令 2019-08-08LINUX NGINX下的PHP shell_exec()函数执行linux命令
环境说明
手头有一台linux的测试服务器 , 最近因为业务需要,需要通过php访问另一台服务器去执行某些命令 。
由于另一台服务器已经对这台服务器开了私钥,所以在终端上是可以直接执行命令而不需要输入密码的 。
问题
PHP无法使用exec命令 , 没有任何返回值 。
解决途径
1.php.ini的配置有问题 。
由于php是7.0以上的版本,取消了安全模式,所以考虑PHP.ini文件配置 。
打开php配置文件,里面有一行disabel_function的值,此处记录了禁止运行的函数 , 在里面讲exec和shell_exec,system等函数删除 。
2.权限问题
修改以后PHP可以运行部分命令了,但是部分外部程序和命令仍然不能运行 。使用sudo返回失败 。
于是运行“whoami”查看,环境下php-frm的运行角色是www 。
于是修改sudoers文件 。
vi /etc/sudoers
将www添加到
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
下面:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
www ALL=(ALL) NOPASSWD:ALL
然后找到Default requiretty这一行,把他注释掉
# Default requiretty
ps:意思就是sudo默认需要tty终端,注释掉就可以在后台执行了.
重启nginx和php-fpm
service nginx restart
service php-fpm restart
这样,PHP就可以在需要执行外部命令的时候使用sudo利用root身份执行命令,而不会报错或者执行失败了!
【php执行linux命令 php执行系统命令函数】关于php执行linux命令和php执行系统命令函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读