【发布时间】:2013-03-19 06:34:56
【问题描述】:
我们通过 FTP 使用 PHP cron 作业将一些文件发送给第三方。
但有时我们会收到以下错误:
ErrorException [ 2 ]: ftp_put(): php_connect_nonb() failed: Operation
now in progress (115) ~ MODPATH/fileop/classes/Drivers/Fileop/Ftp.php [ 37 ]
当我说“有时”时,我的意思正是如此;大多数时候它都很好,但大约五分之一的时候我们会得到这个错误。这与文件本身无关,因为如果我们再试一次,它们会很开心。
我们在网上发现了类似的问题 - 与带有 NAT 设备的 bug in PHP 或与防火墙配置有关,但再次暗示,如果是这种情况,它将永远起作用。
那么,为什么这有时会起作用而其他时候却不起作用?
【问题讨论】:
-
您的 FTP 服务器的版本是多少?更新它可能会修复该软件中的错误。 bugs.php.net/bug.php?id=47110
-
是的,我见过那个。但是该用户似乎根本无法连接。不确定服务器是什么版本;我需要从第三者那里找出答案。
-
尝试使用 SCP 而不是 FTP:hypexr.org/linux_scp_help.php
-
唉,我不能使用 SCP,因为它不是第 3 方提供的选项之一。
-
我遇到了同样的问题。我可以使用标准 OSX FTP 客户端(传输)连接到 FTP 服务器,但在我的代码中,它根本不会连接它挂起,并返回有关正在进行的错误。但是,如果 Web 服务器与 FTP 服务器位于同一 LAN 中,则不会出现此问题。一旦 Web 服务器在 FTP LAN 之外,就会发生此错误。也不知道怎么解决:(