CutyCapt与php exec
发布时间:2020-12-13 16:20:59 所属栏目:PHP教程 来源:网络整理
导读:我在CentOS上使用CutyCapt. 它通过终端工作正常,但它不能通过 PHP exec功能. 我在终端启动了xvfb命令: Xvfb :99 -screen 0 1024x768x24 我试图通过php脚本做截图: exec("DISPLAY=:99 /path/to/cutycapt --url=some url --out=path/to/output"); 它没有显示
我在CentOS上使用CutyCapt.
它通过终端工作正常,但它不能通过 PHP exec功能. 我在终端启动了xvfb命令: Xvfb :99 -screen 0 1024x768x24 我试图通过php脚本做截图: exec("DISPLAY=:99 /path/to/cutycapt --url=<some url> --out=<path/to/output>"); 它没有显示任何错误,但没有输出文件(输出目录有chmod 777) 谢谢 UPD: 解决方法
我设法让CutyCapt在最后使用php成功运行. $_parameters通过AJAX传递给php脚本.希望这可以帮助…
case 'Output_Chart': { // We always create the .png. We use the ImageMagick convert (IMC) command to make .pdfs if ($_Suffix == 'pdf') { $IMC = ";convert -page 735x850 '$_PathOut/$_ChartName.png' '$_PathOut/$_ChartName.pdf'"; } else { $IMC = ''; } // Prepare the query string for the CutyCapt URL $sQuery_Pattern = '?Path=%s&iDL=%d'; $sQuery = sprintf($sQuery_Pattern,$_Path,$_iDL); // Prepare CutyCapt's command and parameters (NB: query string and out parameter are enclosed in aposts for the shell) $sCC_Cmd = '/var/www/LF/Includes/CutyCapt'; $sCC_URL = "http://localhost/LF/LFPrint.html'$sQuery'"; // Note: Inner apostrophes $sCC_Out = "'$_PathOut/$_ChartName.png'"; $sCC_Pattern = ' --url=%s --out=%s --delay=%d --min-width=%d'; $sCC_Options = sprintf($sCC_Pattern,$sCC_URL,$sCC_Out,$_Delay,$_MinWidth); //$sCC_CmdLine = $sCC_Cmd . $sCC_Options . " 2> CutyCapt.err.txt"; $sCC_CmdLine = $sCC_Cmd . $sCC_Options . " 2> /dev/null"; // Prepare the final command line with xvfb-run,CutyCapt,and the URL?QueryString $sCC_CmdLine = 'xvfb-run --auto-servernum --server-args="-screen 0,800x1000x24" ' . $sCC_CmdLine . $IMC; exec( $sCC_CmdLine,$aOutput = array(),$ret); // Wait for and then return the results. sCC_CmdLine and aOutput are just for debugging echo json_encode(array("ret" => $ret,"cmd" => $sCC_CmdLine,"Output" => $aOutput)); break; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |