如何通过PHP执行linux命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过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关闭】 参考技术A 我使用的意思是想通过php代码做的更好对任意那么的目录可读可写可卸载,可以执行kill pid等的命令。
当然还存在还存在的做法,这是我使用的猜测,您不妨试看看,
1、把php的运行网民改为root,这种可能会存在必须的风险。
2、在apache里面指定可以对某个root权限的文件或目录做操作,该做法没试验过。可能您能试验成功的话,希望反馈一下哦。
求助者:恩,第一种做法,我使用的想过,可就是我是想参考我集团的思路来,所以这种做法没尝试过。因为它存在安全疑问。
第二个做法,应该可以,可就是太局限性了。要是文件多咋办,还存在我要想执行个kill,services restart等,肯定就不行了。
大家集团貌似是,写了个linux命令,和您们的思路貌似是一样的回者答:这是大家的做法:用VC写个服务,该服务的运行身份是root,也可以给其最大权限,php调用这个服务做操作。 该做法可行,只是就得多一种底层语言。
还存在的做法经测试:
第一种做法,成功。
我使用的项目用是VC写的服务。
第一种做法,可以改变PHP的运行身份,SuexecUserGroup指定CGI程序运行时所使用的网民和组。非CGI程序的请求仍然使用User指令所指定的网民身份处理。该指令取代了Apache的VirtualHosts配置中的User和Group指令。建议您看下类似的文档,个人做调试。好像还存在别的做法哦。好像是用super。这种您得个人摸索。我只提供思路哦`` 哈哈`` 谢谢``本回答被提问者采纳

如何在linux下配置nginx支持php

参考技术A 需要。
如果是nginx+php配置,也可以通过查找php执行路径
ps aux | grep php
如,路径为 /usr/local/nginx/sbin/php-fpm
然后执行以下命令
/usr/local/nginx/sbin/php-fpm -i | grep “Loaded Configuration File”
即可看到php加载的配置文件

以上是关于如何通过PHP执行linux命令的主要内容,如果未能解决你的问题,请参考以下文章

求教,如何在PHP上执行iptables的命令

php如何执行linux的curl指令

如何在Linux上安装Composer

如何使用Linux的Crontab定时执行PHP脚本的方法

如何在Linux上安装Composer

通过 PHP 运行两个 linux 命令,在执行第二个之前不要等待第一个结束