我正在尝试将我的PHP脚本容器化。
但是由于某种原因,当它在容器中运行时,无法连接到我的FTP服务器。
在我的本地机器上运行该脚本没有任何问题。
Dockerfile:
FROM php:8.1-cli EXPOSE 8080 COPY . /var/www/html/ WORKDIR /var/www/html ENTRYPOINT php -f serve.php
PHP脚本:
$connection = ftp_connect(FTP_HOST, 21, 90);
ftp_pasv($connection, true);
if(ftp_login($connection, FTP_USERNAME, FTP_PASSWORD))
{
$stream = fopen('data://text/plain,','r');
ftp_fput($connection, $filename, $stream);
}
ftp_close($connection);90秒后,它会给出以下警告:
ftp_fput(): Connection timed out in /var/www/html/ftp.php on line 16
我尝试进入容器并安装FTP客户端。
它给我一个类似的超时错误 - 我可以连接到主机,但运行任何命令都会导致停顿。
我还尝试在VPS上运行容器,以消除任何本地防火墙/网络问题。
但问题仍然存在。
如果需要进一步的信息来解决问题,请告诉我。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号