在php中使用ftp包装时,设备不适当的ioctl

时间:2015-03-17 12:24:58

标签: php ftp wrapper ioctl

<?php
error_reporting(E_ALL);
var_dump(scandir('ftp://user:pass@host:21/public_html/'));

在我的localhost WAMP服务器上运行,但它似乎不适用于我的学校服务器(Slackware上的Apache / 2.4.6,PHP / 5.4.24)

它会抛出以下错误:

root@darkstar:/var/www/codedit/www# php test.php
PHP Warning:  scandir(ftp://...@alpha.hosttox.com/public_html/): failed to open dir: not implemented in /hdd/hdd11/www/codedit/www/test.php on line 4
PHP Warning:  scandir(): (errno 25): Inappropriate ioctl for device in /hdd/hdd11/www/codedit/www/test.php on line 4
bool(false)

但是,当我使用内置的PHP函数(ftp_connect,ftp_login等)时,我成功登录到ftp服务器

非常感谢任何想法。

1 个答案:

答案 0 :(得分:0)

回答我自己的问题: 经过几个小时思考可能导致此问题的原因,结果证明它是with-curlwrappers PHP选项。从版本5.5开始,它将从PHP中删除,因此升级PHP版本或使用curlwrappers重新编译PHP会解决问题。我希望这个答案会有所帮助。 :)