草庐IT

exec_proc

全部标签

bash - shell_exec 在 php web 应用程序中不工作

我制作了一个检测网络接口(interface)的shell脚本,然后它检测每个接口(interface)的IP地址、掩码、广播地址,然后它对该网络接口(interface)的所有IP地址进行ping。脚本有执行权限。通常,该脚本会将网络接口(interface)列表(eth0eth1wlan0)保存在名为“resultat”的文件中,但是当我使用php的shell_exec命令从网页运行此脚本时(echo'www-data用户密码'|/usr/lib/cgi-bin/sudo-Sglobal.shbin/bash/")没有生成输出。如果我在终端中运行与用户www-data相同的脚本,结

php - proc_open 离开僵尸进程

以下脚本监视/dev/shm/test是否有新文件并实时输出有关它的信息。问题是当用户关闭浏览器时,inotifywait进程仍然打开,等等。有什么办法可以避免这种情况吗?array("pipe","r"),//stdinisapipethatthechildwillreadfrom1=>array("pipe","w"),//stdoutisapipethatthechildwillwriteto2=>array("pipe","a")//stderrisafiletowriteto);$process=proc_open('inotifywait-mc-ecreate/dev/sh

php - 将 PHP 表单 5.4 升级到 5.5 后,curl_exec 返回 false

我将php版本从5.4升级到5.5。升级phpcurl_exec函数后开始返回false。php5.5中的curl选项有什么变化吗?我在文档中找不到任何内容。$ch=curl_init();curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_URL,self::URL);curl_setopt($ch,CURLOPT_POSTFIELDS,$postData);curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);curl_set

php - proc_open 在 Apache2 和 CLI 中给出不同的输出

我正在使用wkhtmltopdf在我们的网站上将HTML文档转换为PDF文件。我在我的PHP类中使用以下代码:array('pipe','r'),1=>array('pipe','w'),2=>array('pipe','w')],$pipes,'/tmp',NULL,['bypass_shell'=>true]);if(is_resource($pdfConv)){//SendSTDINfwrite($pipes[0],$htmlData);fclose($pipes[0]);//ReceiveSTDOUT$pdfFile=stream_get_contents($pipes[1])

php - 如何将exec输出到变量

我有这个命令可以将SVG转换为图像:exec("convert-size400x400test.svgtest.png",$out,$rcode);但当我实际需要使用DOM变量时,它适用于字段。请问如何将生成的PNG转换为$variableinsted文件(在PHP中)。 最佳答案 这可能是您正在寻找的:根据您的本地设置,您可能必须指定convert实用程序的绝对路径。此外,要转换的文件的路径必须是可解析的,同样,一开始绝对路径是一个安全的选择。 关于php-如何将exec输出到变量,我

php - 为什么我的 PHP exec() 在 bash tidy 命令上无法打开文件?

请耐心等待(我只是在学习如何使用php)。我不知道我的tidy错误是与不正确的wget命令有关还是与错误本身有关。我以为我的wget命令正在抓取远程文件并将其放入我服务器上的$link目录中……但似乎有些不对劲。我试过了将$tidy_cmd更改为单引号将行连接到"..."。$html目录。"/*";不包括“/*”使用phptidy命令(注释掉...失败)。错误:Error:Can'topen"app/HtmlPages/arl.server.com-2015_11_19_15:36:09/arl.server.com/index.php/art"wget.php:$ip=$argv[1

php - 无法通过通过 Jenkins 触发的 PHP exec() 调用的 nagios check_logwarn 插件命令捕获对日志文件的更改

我正在使用nagioscheck_logwarn捕获对日志文件的更改。为了测试我的设置,我手动将以下日志行添加到相关日志文件中-[MonMar2014:24:312017][hphp][12082:7f238d3ff700:32:000001][]\nFatalerror:entirewebrequesttooklongerthan10secondsandtimedoutin/var/cake_1.2.0.6311-betaapp/webroot/openx/www/delivery/postGetAd.phponline483上面的应该被下面的nagios命令捕获,因为它包含关键字“

php - 将 proc_open() 获取的管道重定向到文件,以处理剩余的过程持续时间

比如说,在PHP中,我有一堆单元测试。假设他们需要一些服务才能运行。理想情况下,我希望我的引导脚本能够:启动这个服务等待服务达到所需状态将控制权交给所选的单元测试框架以运行测试在测试结束时进行清理,适本地优雅地终止服务设置某种方式来捕获服务的所有输出以进行日志记录和调试我目前正在使用proc_open()来初始化我的服务,使用管道机制捕获输出,通过检查输出来检查服务是否达到我需要的状态。但是此时我很困惑-如何在脚本的剩余持续时间内捕获剩余的输出(包括STDERR),同时仍然允许我的单元测试运行?我可以想到一些可能冗长的解决方案,但在花时间调查它们之前,我想知道是否有其他人遇到过这个问题

php - php 中的 pcntl_exec 和 exec 有什么区别?

我已经在http://us1.php.net/manual/en/function.pcntl-exec.php阅读了文档和http://php.net/manual/en/function.exec.php但我真的说不出真正的区别是什么。 最佳答案 Thepcntl_exec()functionworksexactlylikethestandard(unix-style)exec()function.ItdiffersfromtheregularPHPexec()functioninthattheprocesscallingthe

php - 为什么将 docker-compose exec 的输出管道输出到 grep,会破坏它?

我正在运行此命令以在正在运行的容器中运行Drush,它基本上是用于Drupal的PHPCLI:docker-compose-f../docker-compose.test.ymlexecphpscripts/bin/vendor/drush.phar-rpublic_htmlstatus-report如果此命令正常,则输出为有关容器中特定Drupal实例的状态信息列表。我不会将它粘贴到这里,因为它很长而且无关紧要。现在让我们将这些信息通过管道输送到grep中进行过滤:docker-compose-f../docker-compose.test.ymlexecphpscripts/bin