`
alfred_long
  • 浏览: 567294 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PHP调用系统命令(实现CutyCapt抓图、nginx网页重启等)

阅读更多

在做对网站截图的时候,用到了服务器的一个工具CutyCapt,在服务器上可以直接用命令进行抓取,生成指定url的图片。但是在用php执行系统命令的时候,发现无法执行,但是可以执行CutyCapt这样的帮助信息的命令(“/usr/local/cutycapt/CutyCapt/xvfb-run.sh --help”),但是执行调用系统变量的脚本却无法成功。怀疑是权限的问题,后来将CutyCapt权限设置为www,发现也不行,后来查找资料,发现是由于nginx服务器在执行命令的时候,会调用shell脚本,这时会遇到权限问题。

 

CutyCapt

 

截图用到的系统命令:

 

/usr/bin/sudo /usr/local/cutycapt/CutyCapt/xvfb-run.sh  /usr/local/cutycapt/CutyCapt/CutyCapt --url=http://www.163.com --out=/tmp/insert.jpg

 

 

 

1、设置 sudo 配置文件 可写权限

chmod u+w /etc/sudoers

 

 

 

2、增加www用户 用户执行CutyCapt脚本的权限(需要运行的脚本和命令都需要添加权限) :

 

www ALL=(root) NOPASSWD: /bin/sh,/usr/local/cutycapt/CutyCapt/xvfb-run.sh, /usr/local/cutycapt/CutyCapt/CutyCapt

 

 

3、关闭 【强制控制台登录】执行或允许www用户不使用控制台登录

 

修改内容:

 

注释掉:Defaults    requiretty

 

更好的修改方式(较安全):

 

只添加:Defaults:www    !requiretty  (www用户不使用控制台登录)

 

 

4 用php执行

 

system('/usr/bin/sudo /usr/local/cutycapt/CutyCapt/xvfb-run.sh  /usr/local/cutycapt/CutyCapt/CutyCapt --url=http://www.163.com --out=/tmp/insert2.jpg',$m);

注(更安全方式):

 

system('sudo /usr/local/cutycapt/CutyCapt/xvfb-run.sh  /usr/local/cutycapt/CutyCapt/CutyCapt --url=http://www.163.com --out=/tmp/insert2.jpg',$m);

 

Nginx重启:

 

同样增加www用户执行nginx脚本的权限

 

 

分享到:
评论

相关推荐

    cutycapt 网页缩略图抓图工具

    **Cutycapt 网页缩略图抓图工具** Cutycapt 是一款小巧而强大的命令行工具,专为Windows平台设计,用于捕获网页的缩略图或全尺寸截图。它非常适合开发者、设计师和互联网内容管理者,需要快速生成网页预览图像时...

    CutyCapt-Win32

    接下来,我们将深入探讨如何使用PHP配合CutyCapt来实现网页抓图功能。 在Web开发中,有时候我们需要生成网页的静态快照,比如为了存档、制作预览或生成报告。PHP作为服务器端脚本语言,本身并不支持直接截取网页...

    使用Qt调用海康威视SDK实现登陆、预览、抓图

    在本文中,我们将深入探讨如何使用Qt框架结合海康威视SDK来实现视频监控系统的登录、视频预览以及抓图功能。海康威视是一家知名的安防设备制造商,提供了丰富的SDK供开发者集成到自己的应用程序中。Qt是一个跨平台的...

    Windows下通过python调用海康SDK实现登入、预览、抓图、光学变倍功能Demo

    在Windows环境下,使用Python编程语言调用海康威视(Hikvision)的SDK来实现摄像头的登录、视频预览、截图以及光学变焦功能是一项常见的任务。海康威视是全球知名的安防产品提供商,其提供的SDK(Software Development...

    网页抓图保存工具.

    10. **API与集成**:对于开发者,有些工具提供了API,可以集成到自己的应用或系统中,实现定制化的网页抓图功能。 总的来说,网页抓图保存工具是现代互联网用户和工作者不可或缺的辅助工具,通过高效地捕获和处理...

    红蜻蜓抓图软件(网页抓图、截图工具)

    红蜻蜓抓图软件(网页抓图、截图工具)方便快捷实用

    使用python3调用opencv对摄像头进行抓图

    在IT行业中,Python3是一种广泛使用的编程语言,尤其在数据处理、自动化和...这对于监控系统、机器学习数据收集、视频处理等多种应用场景都非常有用。理解并熟练运用这些基础知识,将有助于你在IT领域的进一步发展。

    (实现QQ抓图)caputre

    在Windows系统中,我们可以调用GDI(Graphics Device Interface)或DirectX等图形接口来实现这一功能。在macOS和Linux中,可以利用Quartz或X11的截屏API。 1. **捕获屏幕图像** - 使用Windows API函数`BitBlt`或者...

    JAVA实现屏幕抓图 远程桌面控制

    本文详细介绍了如何使用Java中的`java.awt.Robot`类实现屏幕抓图以及基于该类构建远程桌面控制系统的原理和步骤。通过理解这些基础知识和技术细节,开发人员可以轻松地将这些功能集成到自己的应用程序中,为用户提供...

    Windows64下通过python调用海康SDK实现登入、预览、抓图、光学变倍、相机激活、区域聚焦、区域曝光功能 .zip

    在windous系统下Python实现海康相机登入、预览、抓图、光学变倍、相机激活、区域聚焦、区域曝光功能;linux系统下载相应的海康SDK,并将lib文件更换为相对应的库文件,同时将HCNetSDKCom文件夹拷贝出来(与lib文件夹...

    用java实现的网页抓图,下载自己喜欢的图片

    本项目利用Java实现了一种网页抓图的功能,允许用户下载他们喜欢的网页图片。下面将详细介绍这个过程涉及的技术点和实现方法。 首先,我们要理解网页抓图的基本原理。网页抓图,也称为网页截图或网页快照,是指获取...

    网页 抓图软件

    网页抓图软件是一种工具,它允许用户捕获和保存网页上的任何可视信息,包括整个页面、部分区域或者特定元素。这种软件通常具有多种功能,如滚动截图、自定义裁剪、编辑工具、云端存储和分享选项,使得用户能更方便地...

    Windows64下通过python调用海康SDK实现登入、预览、抓图、光学变倍、相机激活、区域聚焦、区域曝光功能

    在windous系统下Python实现海康相机登入、预览、抓图、光学变倍、相机激活、区域聚焦、区域曝光功能;linux系统下载相应的海康SDK,并将lib文件更换为相对应的库文件,同时将HCNetSDKCom文件夹拷贝出来(与lib文件夹...

    MFC实现屏幕抓图效果,新手们很具有参考价值。

    在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 库来实现屏幕抓图功能,这对于初学者来说极具价值。MFC是Microsoft提供的一种C++类库,它简化了Windows应用程序的开发,提供了丰富的控件和API...

    用VB实现屏幕抓图

    按一下键盘上的“印屏幕(Pr Scrn)”键可以轻松实现抓图功能。但有时我们需要在程序代码中自动完成抓图功能,而不是手动去按按钮。 那么我们如何用VB实现屏幕抓图呢?本资源包含的源程序代码将为您解答。 ...

    c#调用摄像头截图_摄像头抓图截图两个版本

    在C#编程中,调用摄像头进行截图或实时抓图是一项常见的需求,特别是在开发桌面应用、视频会议系统或者监控软件时。本项目提供了一个解决方案,包含两个不同的版本,都基于.NET Framework 4,并且可以在Visual ...

    红蜻蜓网页抓图软件——很好用的抓图软件,分享给大家

    红蜻蜓网页抓图软件是一款高效实用的截图工具,尤其对于网页内容的捕捉提供了极大的便利。这款软件在设计上注重用户体验,操作简单易懂,使得无论是初级用户还是高级用户都能够轻松上手。在本文中,我们将详细介绍...

    PHP--抓图程序

    总的来说,这个PHP抓图程序结合了递归算法、面向对象编程和可能的并行处理技术,以高效且易于理解的方式实现网页图片的抓取。通过学习和理解这样的程序,开发者可以提升自己在网页抓取和PHP编程方面的能力。

    c++实现qq抓图,胜利得来毫不费力

    在Windows操作系统中,我们可以调用GDI(Graphics Device Interface)或DirectX等API来实现这一功能。 在C++中,我们可以使用Windows API函数来实现屏幕抓取。例如,`GetDesktopWindow()`函数可以获取桌面窗口的...

    调用vlc+抓图.rar_labview调用vLc_vlc_vlc activex_抓图_抓网络图

    在IT行业中,有时我们需要利用各种工具来实现特定的功能,例如实时监控、视频处理等。本话题将详细探讨如何使用LabVIEW结合VLC(VideoLAN Client)的ActiveX控件来实现网络摄像头的视频播放及抓图功能。VLC是一款...

Global site tag (gtag.js) - Google Analytics