Lösung für PHP-FTP-Verbindungsprobleme in einer Containerumgebung
<p>Ich versuche, mein PHP-Skript zu containerisieren. </p><p>Aber aus irgendeinem Grund kann keine Verbindung zu meinem FTP-Server hergestellt werden, wenn es in einem Container ausgeführt wird. </p><p>Führen Sie das Skript problemlos auf meinem lokalen Computer aus. </p><p><strong>Dockerfile:</strong></p><pre class="brush:php;toolbar:false;">FROM php:8.1-cli
EXPOSE 8080
KOPIEREN ./var/www/html/
ARBEITSVERZEICHNIS /var/www/html
ENTRYPOINT php -f dienen.php</pre><p><strong>PHP-Skript:</strong></p><pre class="brush:php;toolbar:false;">$ Verbindung = 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);</pre><p>Nach 90 Sekunden wird die folgende Warnung ausgegeben: </p><p><em>ftp_fput(): Connection timed out in /var/ www/html/ftp.php in Zeile 16</em></p><p>Ich habe versucht, in den Container zu gehen und den FTP-Client zu installieren. </p><p>Bei mir tritt ein ähnlicher Zeitüberschreitungsfehler auf: Ich kann eine Verbindung zum Host herstellen, aber die Ausführung eines beliebigen Befehls führt zu einer Pause. </p><p>Ich habe auch versucht, den Container auf einem VPS auszuführen, um lokale Firewall-/Netzwerkprobleme zu beseitigen. </p><p>Aber das Problem besteht immer noch. </p><p>Wenn Sie weitere Informationen zur Lösung des Problems benötigen, lassen Sie es mich bitte wissen. </p>