【问题标题】:PHP get file descriptorsPHP 获取文件描述符
【发布时间】:2013-03-29 16:58:59
【问题描述】:

我正在寻找在 fopen、stream_socket_server、socket_listen 等中使用的文件描述符。我花了几个小时很累才找到这个,但似乎找不到。这样做的原因是我可以将其传递给其他进程来处理工作。

编辑: 我正在用 php 制作一个简单的 http 服务器,但预先分叉了 php 进程。这个想法是,如果主进程接受连接并且通过 unix 套接字向不同的进程提供文件描述符,那么它可以完成读取数据甚至进程并响应从主进程中移除瓶颈。目前,主进程必须读取子进程通过 unix 套接字发送的数据,然后将其写回 unix 套接字,然后主进程将其发回。

【问题讨论】:

  • 你能提供更多关于你想要做什么的信息吗?
  • @datasage 编辑了问题以获取更多信息
  • 有道理,但我不确定
  • @datasage 奇怪的是 php 有读写文件描述符的接口,php.net/manual/en/wrappers.php.php 问题是没有办法获取你用 php 或网络连接打开的任何文件的 fd .

标签: php networking


【解决方案1】:

文件描述符是特定于一个进程的,因此您不能只将它们传递给另一个进程并从那里访问它们。如果你 fork 一个进程,你可以访问两个进程在 fork 之前打开的每个文件,但是你以后打开的任何文件只对分配了描述符的进程有效。所以即使你设法得到它,它也不能解决你的问题。

【讨论】:

    猜你喜欢
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多