草庐IT

Shell脚本2

全部标签

Apache下的PHP exec()运行脚本时返回null和255

好的,在为此苦苦思索了几个小时之后,我决定寻求帮助。我有一个运行Apache2.4和PHP7.1的WindowsServer2008。当用户单击浏览器上的按钮时,我的应用程序必须在服务器上运行PHP脚本。这在我的Windows10桌面上运行良好。但是,在服务器上,exec()返回“null”和退出代码255。我阅读了我能找到的关于exec()问题的所有内容并尝试了以下方法:exec("C:\\PHP7\\php.exe-v",$output);我得到了包含PHP版本信息的正确响应。然后我决定检查配置文件:exec("C:\\PHP7\\php.exe--ini",$output);所有

node.js - 如何在 Windows 上的 npm 脚本中使用反引号

我的工作流程是npm脚本,在我的node_modules中运行命令以及简单的shell命令。不幸的是,由于我在某些命令中使用反引号(请参见下面的示例),这对Windows用户来说很困难。我有一个自愿转换为shellJS/shx的拉取请求对于我的构建,所以我的存储库将构建跨平台,但我们无法找到npm脚本中反引号的解决方案。问题:npm使用什么shell?在Windows上,它似乎不支持反引号。有解决方法吗?管道没有帮助,唉,rm、mkdir等不要使用标准输入。package.json中反引号的使用示例:"mkdirs":["dist/AS","libs","models/scripts"

python - 使用系统 PATH 作为文件位置从 Windows 命令行启动 Python 脚本

这可能更像是一个一般的Windows问题,而不是一个Python问题,我不确定。我有一个名为GDAL(地理空间库)的文件夹,里面装满了Python文件。GDAL库的位置存储在Windows系统PATH中,因此当我在Windows命令窗口中键入此命令以检查PATH配置是否正确时:gdal_retile.py我打开记事本以显示代码,正如我所料,因为这是这台电脑上.py文件的默认应用程序。如果我这样做:pythongdal_retile.py它不起作用,它说nosuchfileordirectory然而,如果我定义完整路径:python"C:\ProgramFiles\GDAL\gdal_r

Python 3.6 脚本在 Windows 10 上出奇地慢,但在 Ubuntu 17.10 上则不然

我最近不得不为一家公司写一个挑战,该挑战是根据每个文件的第一个属性(属性在所有文件中重复)将3个CSV文件合并为一个文件。我写了代码发给他们,但是他们说运行需要2分钟。这很有趣,因为它在我的机器上运行了10秒。我的机器有相同的处理器、16GB内存和SSD。非常相似的环境。我尝试对其进行优化并重新提交。这次他们说他们在Ubuntu机器上运行它并获得了11秒,而代码在Windows10上仍然运行了100秒。另一个奇怪的事情是,当我尝试使用Profile对其进行分析时模块,它永远持续下去,必须在450秒后终止。我搬到了cProfiler并记录了7秒。编辑:问题的确切表述是Writeacons

windows - 为要运行的 selenium 脚本设置 azure windows vm 默认分辨率

当我通过RDP连接到我的WindowsServer2012R2AzureVM时,我的分辨率为1600x900,这与我的客户端PC分辨率相对应。但是,当我使用VSO代理在这台机器上运行seleniumUI测试时,它们失败了,因为代理session的屏幕分辨率是1024x768。在设备管理器中,我可以看到显示适配器是MicrosoftHyper-VVideo。当我通过RDP连接访问屏幕分辨率部分时,我只能看到我的分辨率被选中并变灰,并且还显示消息“无法从远程session更改显示设置”。是否可以更改在AzureVM上运行的WindowsServer2012R2的默认屏幕分辨率?我尝试将De

c++ - 覆盖 "Run as Administrator"的 COM shell 扩展在开始菜单搜索中失败

我正在使用COM服务器DLL覆盖Windows10中的“以管理员身份运行”。我通过在Computer\HKEY_CLASSES_ROOT\exefile\shell\runas\command注册表上将DLLGUID设置为DelegateExecute来实现此目的key。我创建了32位和64位版本的CLSID条目(如InprocServer32)。这在大多数情况下工作正常。在资源管理器中右键单击exe文件并以管理员身份运行被委托(delegate)给DLL,如果安装程序试图以提升的权限启动,它会被委托(delegate)给DLL,右键单击开始菜单项被委托(delegate),等等。唯一

windows - 从 WOW64 启动 Shell 链接 (LNK)

我们的32位应用程序通过ShellExecute启动WindowsLNK文件(Shell链接)。当它尝试“启动”一个指向64位二进制文​​件的链接(例如“开始”菜单中的“InternetExplorer(64位)”快捷方式)时,它总是以启动32位二进制文​​件告终。在内部,ShellExecute错误地解析了链接目标:LNK中有一个隐藏字段,其中包含FOLDERID_ProgramFiles。64位应用程序将此解析为64位程序文件目录,但32位应用程序不会。Wow64DisableWow64FsRedirection不会改变ShellExecute的这种行为。除了通过64位“蹦床”过程

.net - 添加到 Windows Shell 扩展上下文菜单

我读过这些:AddingitemtotheDesktopcontextmenuinWindowshttp://www.informit.com/articles/article.aspx?p=169474http://msdn.microsoft.com/en-us/library/bb776852(VS.85).aspx但是我找不到关于如何创建上下文菜单项的最新和直接的信息。我确定它在msdn的某个地方,但我找不到它。谢谢。 最佳答案 有一个article在TSS上。 关于.net-添

python - 在 Windows 上,如何使用 Python 2.7 子进程保护 shell 脚本的参数?

例如考虑以下Python代码:subprocess.call([r'.\tst.bat','"1|2"'])为了保护“|”,我在tst.bat的参数周围加上了双引号从shell因为tst.bat最终将通过Windowsshell运行。但是,如果参数中有双引号,Python2.7中的subprocess会将它们转义。结果是tst.bat收到这个参数:\"1|2\"。我如何转义参数“1|2”,使其不经转换就传递给tst.bat? 最佳答案 在为call方法提供参数列表的情况下,Windows上的子进程模块transforms使用list

c# - 测试/调试 Shell Extension & Regasm & explorer.exe

我使用.NET4.0在C#中成功创建了一个shell扩展(准确地说是一个上下文菜单处理程序)。我使用Regasm注册扩展,然后再次使用Regasm注销扩展。整个过程非常有效。不过我遇到了一个问题:explorer.exe在测试后不会释放我的DLL。我不能删除它,而且我不能在没有VS提示的情况下进行另一个构建。为了释放DLL,我唯一能做的就是重新启动explorer.exe。这就是我的问题:如何在进行过程中进行测试,而不必每次都经历整个过程?我也非常感谢有关加快测试/调试过程的任何提示。编辑:我在我的项目属性中找到了注册COMInterop选项。它确实加快了调试过程,但我仍然遇到expl