PHP die()不会在错误的FTP凭据上执行

时间:2015-04-01 23:38:39

标签: php ftp die

我正在使用某个网站。有一个脚本将文件发送到ftp服务器。脚本完全执行,不应该是因为凭据错误。以下是脚本中的代码段:

// FTP
$host = 'ftp.some.com';
$user = 'user1';
$pass = 'tes22';

$conn = ftp_connect($host, 21) or die ("Cannot connect to host");

ftp_login($conn, $user, $pass) or die("Cannot login");

echo 'it is shown and shouldn\'t be';

真正的凭据当然是不同的,但它们很糟糕(我无法通过Filezilla连接到这个FTP甚至ping它。所以服务器应该返回“无法连接到主机'来自die()方法的消息,但它没有执行 - 回显。如何调试这样的事情?这种行为的一些可能的问题是什么?

1 个答案:

答案 0 :(得分:0)

我试图执行此代码段。在第8行,你正试图登录或死亡。但是,ftp_login?如果出现错误,则抛出php警告。 psysh中的示例:

>>> ftp_login($conn, $user, $pass) or die("Cannot login"); PHP warning: ftp_login(): Login incorrect. on line 1

因此,or之后的第二个操作数不起作用导致ftp_login抛出错误。