项目需要php解压一个.rar文件.代码如下
<?php $c='winrar.exe x D:\\wwwroot\\test\\a.rar -y D:\\wwwroot\\test\\a\\'; $ss=system($c,$msg); var_dump($msg);
本地测试通过. 但在部署到服务器后解压失败!
由于服务是 win2012+II7.5+php 与本地的环境不同. 我认为是php没有执行winrar.exe的权限.
测试
由于在powerShell中执行php脚本有更高的权限.我在powerShell中测试权限的问题
C:\>c:\php\php.exe D:\wwwroot\test\t.php
int(0)
int(0)
执行成功!
给winrar.exe添加 iis应用程序池的权限
访问页面依然失败.
我 ~_~ 抽烟...喝水....上厕所.....
powerShell 中 会受到[环境变量]的影响.而IIS中应该不会用.
使用全路径试试.
<?php $c='C:\\Program Files\\WinRAR\\winrar.exe x D:\\wwwroot\\test\\a.rar -y D:\\wwwroot\\test\\a\\'; $ss=system($c,$msg); var_dump($msg);
C:\>c:\php\php.exe D:\wwwroot\test\t.php 'C:\Program' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 int(1)
应该是"Program Files"中有空格.shell 没能正确的解析命令
修改
<?php $c='"C:\\Program Files\\WinRAR\\winrar.exe" x D:\\wwwroot\\test\\a.rar -y D:\\wwwroot\\test\\a\\'; $ss=system($c,$msg); var_dump($msg);
C:\>c:\php\php.exe D:\wwwroot\test\t.php int(0)
执行成功!
优化代码
<?php // %ProgramFiles%=C:\Program Files // %ProgramFiles(x86)%=C:\Program Files (x86) // %ProgramW6432%=C:\Program Files $c='"%ProgramW6432%\\WinRAR\\winrar.exe" x D:\\wwwroot\\test\\a.rar -y D:\\wwwroot\\test\\a\\'; $ss=system($c,$msg); var_dump($msg);
总结:
- 简单来说我掉进了在win+IIS中执行shell的坑.
- 使用 命令行执行php可以看到 shell 错误信息.而网页不行.
- php 在 win+IIS 环境中确实有权限的问题,但不能一概而论. 要具体分析问题
- 多写博客. 在写博客中分析自己遇到的问题与调试的思路不同.有助于提高水平.
相关推荐
2. "猴王php+asp双版本" - 这可能是项目的源代码文件或可执行文件,包含PHP和ASP两个版本的实现。用户可以解压后查看和使用这些代码,以理解项目的工作原理,或者根据自己的需求进行修改和扩展。 【相关知识点】 1...
- **WinRAR_4.20_SC.exe**:用于服务器上的文件压缩与解压缩功能。 - **带注册机的EditPlus3.rar**:一款强大的文本编辑器,适用于多种编程语言,避免使用记事本导致的编码问题。 - **IIS下环境套件.zip**:护卫神...
这个程序可能是setup.exe或其他类似名称的可执行文件。根据提示,按照向导进行安装操作。 3. 在安装过程中,确保勾选"IIS"相关的选项,这样可以确保安装全部所需的服务组件,如Web服务、FTP服务等。 4. 安装过程中...
2. **运行安装程序**:解压后,找到并运行"ZendOptimizer-3.3.3-Windows-i386.exe",按照向导的提示进行安装。确保选择适合你的PHP安装路径的选项。 3. **配置PHP**:安装完成后,需要在PHP的配置文件(php.ini)中...
这个.exe文件是可执行文件,表明它是Windows操作系统下的应用程序。 运行“开启网站.exe”后,系统会提示输入本机IP地址。IP地址是互联网协议地址的简称,每个联网设备都有一个唯一的IP,用于网络上的通信。在网吧...
- 通过官方渠道下载APMServ 5.2.6的压缩包(例如APMServ5.2.6_zip.exe),推荐使用7-Zip或WinRAR进行解压。 - 将解压后的文件夹放置于合适的目录下。 2. **启动与配置:** - 运行APMServ.exe,启动程序会自动...
- 用户需要先下载并安装RAR解压工具,然后解压"ZendOptimizer-3.0.1-Windows-i386.rar" 文件,从中获取可执行文件"ZendOptimizer-3.0.1-Windows-i386.exe"。 - 安装过程中,通常需要配置PHP环境变量,确保Zend ...
Chkdsk 命令需要 Autochk.exe 文件。如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该...
注册过程是通过系统命令行进行的,可能会使用regsvr32.exe这样的工具,确保服务器知道这些组件的存在并能够调用它们。 第三步,一旦组件注册完成,我们可以通过输入正确的网址或服务器的IP地址来访问打字系统。这...
- **第三步:** 修改虚拟目录的执行权限为“脚本和可执行文件”。 **3.2 利用phpMyAdmin创建Mantis数据库** - **第一步:** 运行MySQL服务,确保MySQL服务已经启动。 - **第二步:** 打开浏览器,访问`...
CVE-2017-7269 IIS6.0远程代码执行入侵复现 CVE-2018-15982 Flash突破 CVE-2018-19518 PHP imap_open函数任意命令执行漏洞 CVE-2018-20250 WinRAR目录穿越突破 CVE-2018-4407 IOS重叠重叠 CVE-2018-4878 Flash突破 ...
DNS/IIS管理组件 P42.4服务器3700送产权 北京联通 河北网通 辽宁联通 江苏电信 河南网通 上海电信 a虚拟主机0.5元/M 主机管理系统1500元/套 a傲盾DDOS防火墙最低只要1500 注意:推荐...