php调用linux命令,命令行执行php

php如何实现随意执行linux命令(任意读写,删除等)

显然,你要靠php操作其范围外的文件或目录是不可能的,这是因为php的运行身份是apache,因此没办法操作root权限的文件或目录。

创新互联凭借专业的设计团队扎实的技术支持、优质高效的服务意识和丰厚的资源优势,提供专业的网站策划、网站建设、成都网站建设、网站优化、软件开发、网站改版等服务,在成都十载的网站建设设计经验,为成都上1000家中小型企业策划设计了网站。

我们采取的办法是,用VC写个服务,该服务的运行身份是root,也就是给其最大权限,php调用该服务做操作。

当然还有另外的办法,这是我的猜测,你不妨试看看,

1、把php的运行用户改为root,这样可能会存在一定的风险。

2、在apache里面指定可以对某个root权限的文件或目录做操作,该办法没试验过。如果你能试验成功的话,希望反馈一下哦。

php调用linux命令更改文件权限

我们的服务器是这样做的:

php一般是以apache用户身份去执行的,把apache加入到存储你文件的父文件夹属组里去,然后改该父文件夹权限为775,这样属组成员就有写的权限,而apache属于这个组就可以改写该目录下所有文件的权限,当然,属组最好不要是root,你可以为该文件夹改个其它普通用户组。

改apache/php的运行用户方法不安全,不建议使用。

如何用php运行linux命令,并获取返回信息?

你想问得是php如何执行shell命令把?

可以用system(),exec(),passthru()这三个函数实现

虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的:

system() 输出并返回最后一行shell结果。

exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。

passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。

相同点:都可以获得命令执行的状态码

例子:system("ls -al");

【使用之前要在php.ini中把safe_mode关闭】

如何让PHP有权限执行Linux下的命令

php执行linux的命令用system或exec就可以,只要打开safemode,但是一些系统底层的没有执行命令的不允许调用哦,实在有些命令例如zip之类想用的话,直接用php写入一个shell脚本文件再exec那个sh就好了。

php如何执行linux的curl指令

PHP 中执行系统命令有几种方式:

system():和 C 语言中的 system() 函数的用法是一样的,参数为命令行,成功则返回命令输出的最后一行,失败则返回 FALSE。

shell_exec():执行命令,然后返回命令执行后的 stdout 输出。

passthru():直接执行命令,然后将输出内容直接显示到网页上。

在这里,curl 的输出不用显示到网页上,所以 system() 可能比较合适。


分享名称:php调用linux命令,命令行执行php
本文来源:http://azwzsj.com/article/hogggd.html