Docker ??:
FROM php:8.1-cli ?? 8080 ?? ./var/www/html/ ?? ???? /var/www/html ENTRYPOINT php -f Serve.php</pre><p><strong>PHP ????:</strong></p><pre class="brush:php;toolbar:false;">$ ?? = ftp_connect(FTP_HOST, 21, 90); ftp_pasv($??, ?); if(ftp_login($connection, FTP_USERNAME, FTP_PASSWORD)) { $stream = fopen('data://text/plain,','r'); ftp_fput($connection, $filename, $stream); } ftp_close($connection);</pre><p>90? ?? ?? ??? ?????: </p><p><em>ftp_fput(): Connection timed out in /var/ www/html/ftp.php 16?</em></p><p>????? ???? FTP ?????? ??? ?????. </p><p>??? ?? ?? ??? ?????. ???? ??? ? ??? ??? ???? ?? ?????. </p><p>?? ?? ???/???? ??? ???? ?? VPS?? ????? ??? ?????.??? ??? ??? ?????. </p><p>?? ??? ?? ?? ??? ??? ?? ????? ????. </p>
PHP? ftp_pasv
?? ??? ?????(??):
?? ftp_pasv
調(diào)用的狀態(tài)返回值,所以您不會注意到該調(diào)用是否實(shí)際成功(這很可能不會成功)。因此,您的腳本將嘗試建立主動的 FTP 連接。這在容器中不起作用(除非使用 --network=host
??? ?? ?? ?? ???? ???? ??? ??? ????? ??? ? ? ????(??? ??? ?? ???? ??). ??? ????? ?? FTP ??? ????? ?????. ????? ??? ???? NAT? ?? ?? ?????? ???? ??? ??????? ???? ????(--network=host
? ???? ?? ?).
???: ?? ???? ?? ??? ??? ??????(?? ?? ?? ?? ?????. PHP ?? ?????? ?? ?? ??? ??? ????? ?? ?? ?? ?? ?????):
???