
php 后跟文件名,如果不是全局的就进入php安装bin目录下,就是有php.exe文件那个目录下执行 php+文件名。学习Linux的话可参考《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关闭】显然,你要靠php *** 作其范围外的文件或目录是不可能的,这是因为php的运行身份是apache,因此没办法 *** 作root权限的文件或目录。我们采取的办法是,用VC写个服务,该服务的运行身份是root,也就是给其最大权限,php调用该服务做 *** 作。
当然还有另外的办法,这是我的猜测,你不妨试看看,
1、把php的运行用户改为root,这样可能会存在一定的风险。
2、在apache里面指定可以对某个root权限的文件或目录做 *** 作,该办法没试验过。如果你能试验成功的话,希望反馈一下哦。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)