php - 文件(文件描述符 3)存在但无法通过 fopen php 打开它

标签 php linux fopen file-descriptor

我正在尝试通过 PHP 从文件描述符 3 获取流

问题是尽管文件存在我还是打不开

这是我的代码:

<?php

$file = fopen('/proc/12916/fd/3' ,'r');
if($file == NULL) print_r("NULL");

?>

我手动获取文件名并将其传递给 fopen 函数。 执行后我收到这条消息:

PHP Warning: fopen(/proc/12916/fd/3): failed to open stream: No such file or directory in /root/test.php on line 4

尽管那个文件存在

[root@localhost ~]# ll /proc/12916/fd/3 
lr-x------ 1 root asterisk 64 7月  4 18:15 /proc/12916/fd/3 -> pipe:[90140090]

关键是在一个现有的官方 php 库中做着和我一样的事情,也使用 fopen 打开 fd3。它失败了。 我在这里很困惑。 任何帮助将不胜感激

最佳答案

您确定您有正确的访问权限来读取该文件吗? 似乎只有“root”用户才有权限。

也许您应该对该文件执行 chmod 644

关于php - 文件(文件描述符 3)存在但无法通过 fopen php 打开它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51170563/

相关文章:

php - 使用phpseclib Net SSH2的PHP SSH连接

xml - 如何从所有 .xml 文件中删除所有包含字符串的行?

linux - 在 linux/unix 中附加到文件而不是覆盖

php - 处理时区和日期

php - 是否可以在 PHPStorm 中突出显示 Ruby 语法?

PHP 数组排序使用内部 val

linux - 在 5 个逗号分隔值后插入换行符

c - 如何在没有fopen的情况下读取C中的文本文件

c++ - 从服务器中不同位置的命令行参数传递的打开文件名

c - 用C语言读取文本文件