2017-08-18 7 views
1

Unten ist Code, der seit geraumer Zeit läuft und diese Woche hat es aufgehört zu arbeiten. Ich habe es auf die Zeile beschränkt, wo es in der 'fopen' Anweisung fehlschlägt. Ich bekomme die richtigen Echos, wenn ich die fopen-Linie kommentiere. Zuerst dachte ich, es wäre ein Rechteproblem auf dem Remote-Server, aber ich hatte das gleiche Problem mit einem anderen Server.PHP ssh2.sftp funktioniert nicht mehr

Ich bekomme nicht wirklich eine Fehlermeldung. Ich bekomme grundsätzlich eine Browsermeldung, dass die Seite nicht geladen werden kann.

Dies läuft auf PHP 5.5.9 auf einem Ubuntu-Server. Wir haben am 08.11. Von ubuntu Updates zu einigen PHP-Paketen erhalten. Hier

ist der Code:

$connection = ssh2_connect('fe01.xyz.com', 22); 
if (!$connection) die('Connection failed'); 
echo "connected<br>"; 
$u=ssh2_auth_password($connection, 'username', 'password'); 
if (!$u) : 
    echo "auth failed "; 
    exit; 
else: 
    echo "auth success<br>"; 
endif; 

$outdata=file_get_contents("files/ulti99.csv"); 
$resSFTP = ssh2_sftp($connection); 
if (!$resSFTP): 
    echo "SFTP Connection Failed"; 
    exit; 
else: 
    echo "SFTP Connection Succuess<br>"; 
endif; 

$resFile = fopen("ssh2.sftp://{$resSFTP}/ulti99.csv", 'w'); // failing 
echo "after open"; 
fwrite($resFile, $outdata); 
fclose($resFile); 

Jede Hilfe würde geschätzt.

Antwort

0

Möglicherweise haben Sie die Dateiberechtigungen auf Ihrem Server geändert.

+0

Ursprünglich ich das auch gedacht, aber es geschieht jetzt auf einem zweiter Server, der nichts mit dem ersten Mal zu tun hat, als ich das sah. Auf meinem Testserver habe ich die Berechtigungen auf 777 geändert und es funktioniert nicht –

0

Experiancing das gleiche Problem auf einem Ubuntu 14-04 Maschine. ungefähr 2 Wochen lang funktioniert die sftp-Verbindung mit einer Bibliothek, die versucht, sich mit file_put_contents ("ssh2.sftp: // {Resource ID # 220}/....", $ content) zu verbinden, nicht mehr und es gibt keine Fehler, der Browser Antwort mit „ERR_EMPTY_RESPONSE“

i ausrechnen kann nicht was das Problem ... in diesem Moment von file_put_contents das System bricht ...

+0

ok, sehr einfach zu beweisen, was falsch ist. Öffnen Sie im Terminal auf der Maschine den interaktiven PHP "php -a", versuchen Sie: php> fopen ("ssh2.sftp: // test", "r"); und Sie erhalten einen Segmentierungsfehler! – Nijusan