1

我在 php 中使用 fwrite 时遇到问题。以下代码在我的本地计算机上工作,但在服务器中出现错误。

$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if(!$fp) {
   echo 'Error: '.$errno.', '.$errstr;
} else {
   fwrite($fp, 'kool');
}

fsockopen 没有错误。它通过并且没有错误。fwrite 无法写入。它失败并且不返回错误只有 false

4

2 回答 2

3

这是 Apache/Nobody 用户访问没有修改/读/写/执行权限的远程文件的权限问题。

您还应该打印错误消息以进行调试

$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if(!$fp) {
    echo "Error No: ".$errno."<br />\n";
    echo "Error Str: ".$errstr."<br />\n";
} else {
    fwrite($fp, 'kool');
}
于 2010-11-16T16:05:05.283 回答
2

如果您在共享主机上,很可能您的服务器不允许端口 80 上的出站连接。通常只允许入站连接。

于 2010-11-16T16:03:55.927 回答