php 访问ftp服务器文件夹权限,我无法使用PHP在FTP服务器上工作,连接有效,但我无法获取文件或其他内容。它适用于FileZilla...

我有一个问题。我使用PHP连接到FTP服务器,以获取存储在服务器上的文件列表。我可以正常连接(使用ftp_connect,也可以使用ftp_login登录,我也使用被动模式)。当我只是连接时,Everthing工作。当我向我的代码添加ftp_nlist或其他操作时,它不起作用。该页面只是无休止地加载。我可以使用FileZilla连接并在服务器上工作,但我想自动执行此操作。它适用于FileZilla但不适用于PHP,你能帮助我吗?

它尝试连接到另一台FTP服务器,效果很好。我可以得到文件列表。但我无法使用我想要的服务器。

这是我的代码:

$ftpStream=ftp_connect($hostname,$port);

if($ftpStream==false)

echo 'No connection ';

else {

echo 'Connected ';

if(ftp_login($ftpStream,$ftpUsername,$ftpPassword)!=false) {

echo 'Logged ';

if(ftp_pasv($ftpStream,true)!=false)

echo 'Passive mode on ';

$list=ftp_nlist($ftpStream,'.');

}

else echo 'Wrong ftpUsername or ftpPassword';

}

我检查了文件权限,我可以读取,写入和执行,所以问题并非来自我认为的文件权限。

这是日志文件:

2018-05-04 09:28:10 248 1 Suivi : CControlSocket::SendNextCommand()

2018-05-04 09:28:10 248 1 Suivi : CFtpLogonOpData::Send() in state 0

2018-05-04 09:28:10 248 1 Statut : Connexion à ... //Connecting to the FTP server

2018-05-04 09:28:10 248 1 Statut : Connexion établie, attente du message d'accueil... //Connection established, waiting for the welcome message

2018-05-04 09:28:11 248 1 Suivi : CFtpControlSocket::OnReceive()

2018-05-04 09:28:11 248 1 Réponse : 220 Service ready for new user.

2018-05-04 09:28:11 248 1 Suivi : CFtpLogonOpData::ParseResponse() in state 1

2018-05-04 09:28:11 248 1 Suivi : CControlSocket::SendNextCommand()

2018-05-04 09:28:11 248 1 Suivi : CFtpLogonOpData::Send() in state 2

2018-05-04 09:28:11 248 1 Commande : AUTH TLS

2018-05-04 09:28:11 248 1 Suivi : CFtpControlSocket::OnReceive()

2018-05-04 09:28:11 248 1 Réponse : 500 Syntax error, command unrecognized.

2018-05-04 09:28:11 248 1 Suivi : CFtpLogonOpData::ParseResponse() in state 2

2018-05-04 09:28:11 248 1 Suivi : CControlSocket::SendNextCommand()

2018-05-04 09:28:11 248 1 Suivi : CFtpLogonOpData::Send() in state 3

2018-05-04 09:28:11 248 1 Commande : AUTH SSL

2018-05-04 09:28:11 248 1 Suivi : CFtpControlSocket::OnReceive()

2018-05-04 09:28:11 248 1 Réponse : 500 Syntax error, command unrecognized.

2018-05-04 09:28:11 248 1 Suivi : CFtpLogonOpData::ParseResponse() in state 3

2018-05-04 09:28:11 248 1 Statut : Serveur non sécurisé, celui-ci ne supporte pas FTP sur TLS.// No TLS

2018-05-04 09:28:11 248 1 Suivi : CControlSocket::SendNextCommand()

2018-05-04 09:28:11 248 1 Suivi : CFtpLogonOpData::Send() in state 5

2018-05-04 09:28:11 248 1 Commande : USER user

2018-05-04 09:28:12 248 1 Suivi : CFtpControlSocket::OnReceive()

2018-05-04 09:28:12 248 1 Réponse : 331 User name okay, need password.

2018-05-04 09:28:12 248 1 Suivi : CFtpLogonOpData::ParseResponse() in state 5

2018-05-04 09:28:12 248 1 Suivi : CControlSocket::SendNextCommand()

2018-05-04 09:28:12 248 1 Suivi : CFtpLogonOpData::Send() in state 5

2018-05-04 09:28:12 248 1 Commande : PASS ****

2018-05-04 09:28:12 248 1 Suivi : CFtpControlSocket::OnReceive()

2018-05-04 09:28:12 248 1 Réponse : 230 User logged in, proceed.

2018-05-04 09:28:12 248 1 Suivi : CFtpLogonOpData::ParseResponse() in state 5

2018-05-04 09:28:12 248 1 Suivi : CControlSocket::SendNextCommand()

2018-05-04 09:28:12 248 1 Suivi : CFtpLogonOpData::Send() in state 6

2018-05-04 09:28:12 248 1 Commande : SYST

2018-05-04 09:28:12 248 1 Suivi : CFtpControlSocket::OnReceive()

2018-05-04 09:28:12 248 1 Réponse : 215 Windows_CE version 6.0.

2018-05-04 09:28:12 248 1 Suivi : CFtpLogonOpData::ParseResponse() in state 6

2018-05-04 09:28:12 248 1 Suivi : CControlSocket::SendNextCommand()

2018-05-04 09:28:12 248 1 Suivi : CFtpLogonOpData::Send() in state 7

2018-05-04 09:28:12 248 1 Commande : FEAT

2018-05-04 09:28:13 248 1 Suivi : CFtpControlSocket::OnReceive()

2018-05-04 09:28:13 248 1 Réponse : 211- Features supported

2018-05-04 09:28:13 248 1 Réponse : REST SIZE STREAM

2018-05-04 09:28:13 248 1 Réponse : 211 End

2018-05-04 09:28:13 248 1 Suivi : CFtpLogonOpData::ParseResponse() in state 7

2018-05-04 09:28:13 248 1 Statut : Le serveur ne supporte pas les caractères non-ASCII. //Doesn't support non ASCII characters

2018-05-04 09:28:13 248 1 Statut : Connecté // Connected

2018-05-04 09:28:13 248 1 Suivi : Measured latency of 296 ms

2018-05-04 09:28:13 248 1 Suivi : CFtpControlSocket::ResetOperation(0)

2018-05-04 09:28:13 248 1 Suivi : CControlSocket::ResetOperation(0)

2018-05-04 09:28:13 248 1 Statut : Récupération du contenu du dossier... //Getting directory content

2018-05-04 09:28:13 248 1 Suivi : CControlSocket::SendNextCommand()

2018-05-04 09:28:13 248 1 Suivi : CFtpListOpData::ListSend() in state 0

2018-05-04 09:28:13 248 1 Suivi : CFtpChangeDirOpData::Send() in state 0

2018-05-04 09:28:13 248 1 Suivi : CFtpChangeDirOpData::Send() in state 1

2018-05-04 09:28:13 248 1 Commande : PWD

2018-05-04 09:28:13 248 1 Suivi : CFtpControlSocket::OnReceive()

2018-05-04 09:28:13 248 1 Réponse : 257 "/".

2018-05-04 09:28:13 248 1 Suivi : CFtpChangeDirOpData::ParseResponse() in state 1

2018-05-04 09:28:13 248 1 Suivi : CFtpControlSocket::ResetOperation(0)

2018-05-04 09:28:13 248 1 Suivi : CControlSocket::ResetOperation(0)

2018-05-04 09:28:13 248 1 Suivi : CControlSocket::ParseSubcommandResult(0)

2018-05-04 09:28:13 248 1 Suivi : CFtpListOpData::SubcommandResult() in state 1

2018-05-04 09:28:13 248 1 Suivi : CControlSocket::SendNextCommand()

2018-05-04 09:28:13 248 1 Suivi : CFtpListOpData::ListSend() in state 2

2018-05-04 09:28:13 248 1 Suivi : CFtpRawTransferOpData::Send() in state 1

2018-05-04 09:28:13 248 1 Commande : TYPE I

2018-05-04 09:28:13 248 1 Suivi : CFtpControlSocket::OnReceive()

2018-05-04 09:28:13 248 1 Réponse : 200 Command okay.

2018-05-04 09:28:13 248 1 Suivi : CFtpRawTransferOpData::ParseResponse() in state 1

2018-05-04 09:28:13 248 1 Suivi : CControlSocket::SendNextCommand()

2018-05-04 09:28:13 248 1 Suivi : CFtpRawTransferOpData::Send() in state 2

2018-05-04 09:28:13 248 1 Commande : PASV

2018-05-04 09:28:13 248 1 Suivi : CFtpControlSocket::OnReceive()

2018-05-04 09:28:13 248 1 Réponse : 227 Entering Passive Mode (x,x,x,x,200,64).

2018-05-04 09:28:13 248 1 Suivi : CFtpRawTransferOpData::ParseResponse() in state 2

2018-05-04 09:28:13 248 1 Suivi : CControlSocket::SendNextCommand()

2018-05-04 09:28:13 248 1 Suivi : CFtpRawTransferOpData::Send() in state 4

2018-05-04 09:28:13 248 1 Suivi : Binding data connection source IP to control connection source IP (myIP)

2018-05-04 09:28:13 248 1 Commande : LIST

2018-05-04 09:28:14 248 1 Suivi : CTransferSocket::OnConnect

2018-05-04 09:28:14 248 1 Suivi : CFtpControlSocket::OnReceive()

2018-05-04 09:28:14 248 1 Réponse : 125 Data connection already open; transfer starting.

2018-05-04 09:28:14 248 1 Suivi : CFtpRawTransferOpData::ParseResponse() in state 4

2018-05-04 09:28:14 248 1 Suivi : CControlSocket::SendNextCommand()

2018-05-04 09:28:14 248 1 Suivi : CFtpRawTransferOpData::Send() in state 5

2018-05-04 09:28:14 248 1 Suivi : CFtpControlSocket::OnReceive()

2018-05-04 09:28:14 248 1 Réponse : 226 Closing data connection.

2018-05-04 09:28:14 248 1 Suivi : CFtpRawTransferOpData::ParseResponse() in state 5

2018-05-04 09:28:14 248 1 Suivi : CControlSocket::SendNextCommand()

2018-05-04 09:28:14 248 1 Suivi : CFtpRawTransferOpData::Send() in state 8

2018-05-04 09:28:14 248 1 Suivi : CTransferSocket::OnClose(0)

2018-05-04 09:28:14 248 1 Suivi : CTransferSocket::TransferEnd(1)

2018-05-04 09:28:14 248 1 Suivi : CFtpControlSocket::TransferEnd()

2018-05-04 09:28:14 248 1 Suivi : CFtpControlSocket::ResetOperation(0)

2018-05-04 09:28:14 248 1 Suivi : CControlSocket::ResetOperation(0)

2018-05-04 09:28:14 248 1 Suivi : CControlSocket::ParseSubcommandResult(0)

2018-05-04 09:28:14 248 1 Suivi : CFtpListOpData::SubcommandResult() in state 3

2018-05-04 09:28:14 248 1 Suivi : CFtpControlSocket::ResetOperation(0)

2018-05-04 09:28:14 248 1 Suivi : CControlSocket::ResetOperation(0)

2018-05-04 09:28:14 248 1 Statut : Contenu du dossier "/" affiché avec succès // "/" directory successfully displayed

我继续搜索,发现一些奇怪的东西。数据连接在FileZilla中立即关闭,但它仍然可以获取文件列表,也许我应该使用PHP来处理它:

Commande : PASV

Réponse : 227 Entering Passive Mode (x,x,x,x,19,201)

Commande : LIST

Réponse : 150 File status okay; about to open data connection.

Réponse : 226 Closing data connection.

Statut : Contenu du dossier affiché avec succès // The directory's content is well displayed

这就是它与另一台服务器的合作方式

Commande : PASV

Réponse : 227 Entering Passive Mode (x,x,x,x,15,73)

Commande : LIST

Réponse : 150 File status okay; about to open data connection.

Réponse : 226 Transfer complete

Statut : Contenu du dossier affiché avec succès //Sucessfully displayed

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值