没有得到 popen 的完整回复

2024-05-15

嗨,我正在使用 popen 运行一个进程;-

$handle = popen('python scriptos.py', "r");
while (!feof($handle)) {
    $data = fgets($handle);
    echo "> ".$data;
}

我只从返回 5 行的进程中获取 3 行。我在 CLi 中运行这个确切的命令,我会得到更多响应。就好像它提前停止读取一样(在工作时可能需要一些时间才能完成并更新接下来的两行,这是一个进度指示器)。

我做错了什么吗?是进程打开 http://php.net/manual/en/function.proc-open.php更合适(我已经开始考虑是否可以尝试)。


丢失的两行可能正在写入STDERR http://en.wikipedia.org/wiki/Standard_streams#Standard_error_.28stderr.29, and popen()只返回 STDOUT 的指针。

您可以使用以下命令获取 STDERR 的指针proc_open() http://php.net/manual/en/function.proc-open.php,或更改popen() line to

$handle = popen('python scriptos.py 2>&1', "r");

将 STDERR 重定向到 STDOUT,以便它们包含在您的输出中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

没有得到 popen 的完整回复 的相关文章

  • Laravel 5:在控制台内核的 Schedule() 函数中使用 Cache:: 或 DB::

    我正在尝试以不同的用户配置的时间间隔在 Laravel 5 中运行 Artisan 控制台命令 我已经构建了控制台命令 并拥有一个包含 运行频率 配置值的数据库 具有 Eloquent 模型 内schedule 的函数App Console
  • 动态重新定义 PHP 类函数?

    我试图弄清楚如何动态导入大量 PHP 类函数 例如 class Entity public function construct type require once type functions php person new Entity
  • php - 致命错误:调用 AppServ 中未定义的函数 mcrypt_get_iv_size()

    当我通过以下方式使用 mcrypt get iv size 函数时发现一个问题AppServ https www appserv org 我尝试寻找与解决问题相关的主题 但是 我尝试将 libmcrypt dll 下载到 symtem32
  • 测试 CodeIgniter 会话变量的正确方法是什么?

    获取以下代码片段 测试确保会话变量不为空的最佳方法是什么 如果稍后在我的脚本中 我调用以下内容 第一个打印正确 但在第二个我收到消息 未定义的变量 已登录 我尝试过使用 empty and isset 但两者均未成功 我还尝试使用向后执行
  • 如何处理PDO异常[重复]

    这个问题在这里已经有答案了 我正在尝试与PDOphp 上的类 但我在找到处理错误的正确方法时遇到了一些麻烦 我编写了以下代码
  • 确定 PHP 到目前为止执行了多长时间

    我需要确定 PHP 函数到目前为止已经运行了多长时间 有哪些选项可以确定某些 PHP 代码的运行时间 我正在使用 zend 框架 Call microtime true 函数以毫秒分辨率获取当前时间
  • 通过 PEAR 安装 PHPUnit

    我安装时遇到问题PHPUnit 3 4 6 via 梨1 9 0 当我发现频道后pear phpunit de并尝试使用以下命令之一 pear 安装 phpunit PHPUnit pear 安装 alldeps phpunit PHPUn
  • 统计数据库中的注册用户数

    我想反映在我的网站上注册的人数 只有我拥有的代码不起作用 它让我知道它不可能 转换为字符串 另外 当我将其设置为在 HTML 中调用的函数时 我收到 connection 未定义的错误 require once connect php sq
  • WordPress 子主题 -functions.php 复制 - 无法“重新声明”

    我正在使用带有儿童主题 starkers child 的 Starkers 我需要编辑functions php来声明一个菜单 所以我复制了functions php JS文件夹和external文件夹 它们都在functions文件中的某
  • 在运行之前可以检查 imagecreatefromjpeg 是否会导致内存耗尽致命错误吗?

    我已经对此进行了一些搜索 并且我知道不可能从内存耗尽的致命错误中恢复 我有一个运行 imagecreatefromjpeg 的脚本 我尝试捕获异常 我尝试使用 运行该函数 然后检查返回值是否为 null 或 false 我尝试使用 die
  • Symfony2 实体字段在选项为空时显示所有条目

    我的 Symfony2 项目中有一个实体类型表单字段 builder this gt createFormBuilder projects this gt getProjects builder gt add project entity
  • 多维数组中的数组排列保留键 PHP

    这两天我一直在疯狂地尝试完成这个任务 也许你可以启发我 这是针对赛马投注排列的 每次用户玩游戏时 我都会得到一个多维数组 2 个级别 第一级包含比赛 ID 第二级包含用户为该比赛选择的马匹 它看起来像这样 play array 4 gt a
  • 重用 PDO 语句 var 会使进程崩溃

    我重用一个变量来存储两个不同的 PDO mysql 语句 stmt dbh gt prepare SELECT stmt gt execute stmt dbh gt prepare UPDATE crash here Error in o
  • Php Curl HTTP POST REQUEST 使用嵌套键值对设置自定义标头

    如何使用 Curl 在 php 中设置此标头 CustomInfo 元素是数组 嵌套键值对 AuthenticationInfo 元素是数组 嵌套键值对
  • 检查用户设备的 GPS 是否开启

    我正在使用 jQuery Mobile 和 PHP 开发一个应用程序 我没有使用 Phonegap 或其他框架 我需要找到用户的geolocation 如果用户设备的 GPS 关闭 那么我无法获取位置 现在我需要查找用户设备的 GPS 是否
  • Laravel 5 命名约定

    我对 Laravel 约定有点困惑 因为我是这个框架的新手 我正在关注 Jeffrey Way 他使用的 Laracasts 视频Plural对于控制器名称 E g 页面控制器 卡片控制器 帖子控制器 但如果我参考官方文档Laravel g
  • Laravel 4.2 Composer 安装错误:“无法扫描类”

    我想通过 Composer 在新的 Laravel 4 2 安装上安装一些软件包 但是 我遇到了例外 这是我的作曲家文件 name laravel laravel description The Laravel Framework keyw
  • 无法访问 WordPress 中声明的全局变量

    我有以下代码 g value something print g value function get value global g value print g value print get value 当我在独立的 PHP 脚本中运行它
  • 如何缩短 PHP if 语句?

    我有一个 if 语句 我需要将单个字符串与许多不同的选项进行比较 我在下面发布的代码非常清楚地表明了我的意思 我知道有两种方法可以做到这一点 但另一种甚至更长 那么 是否有任何函数可以以更短的方式实现类似的功能 我的要求可能看起来很愚蠢 但
  • 通过 Facebook 图 api 点赞帖子

    你好 我对 facebook PHP SDK 没有什么问题 我想通过 facebook PHP SDK 点赞帖子或其他内容 我正在执行此代码 我认为它应该是正确的 但显然它不起作用 给定的错误代码是的 PHP SDK不知道这种POST请求

随机推荐