dtn36013 2014-04-30 21:36
浏览 44
已采纳

使用PHP exec时从PDFTK获取完整错误

I'm using PHP exec() in a script to merge PDF files with PDFTK.

From PHP docs: exec function says the second argument, if provided, will list each line from the console output. All I get is an empty array though.

Example of code being used:

exec(pdftk "file1.pdf" "file2.pdf" Merged_File.pdf, $output = array(), $result);

I can successfully get errors if I run the code in the console, but I'd like for my application to have access to the full text errors.

  • 写回答

1条回答 默认 最新

  • drmeu26880 2014-04-30 21:51
    关注

    You are probably looking to get messages from stderr using proc_open. Something like this:

    <?php
    
    $cmd = "/path/to/script arguments here";
    $cwd = dirname(__FILE__);
    $descriptorspec = array(
       0 => array("pipe", "r"),  // stdin
       1 => array("pipe", "w"),  // stdout
       2 => array("pipe", "w"),  // stderr
    );
    
    if ( ($process = proc_open($cmd, $descriptorspec, $pipes, $cwd, null)) !== false )
    {
      // Standard output
      $stdout = stream_get_contents($pipes[1]);
      fclose($pipes[1]);
    
      // Errors
      $stderr = stream_get_contents($pipes[2]);
      fclose($pipes[2]);
    
      proc_close($process);
    }
    
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c