我有通過FTP不斷更新信息的文件。在我的「index.php」(在另一個網站上),我有3個不同的iframe。在每個這樣的iframe中,都有一個PHP文件按定義的時間重新加載(例如每隔三秒)。現在,這三個PHP文件分別在文件的開始處分別打開一個到FTP的連接,然後讀取位於FTP上的文件中的內容。然後在文件結尾他們關閉FTP連接。一段時間後FTP連接錯誤
這很好,直到一段時間後錯誤代碼開始彈出。
的錯誤是:
ftp_login()預計參數1是資源
我懷疑是打開的連接的最大數目已經重寫了,但因爲我每次關閉FTP連接我打開它不應該是可能的權利?任何人都有一個想法,我可以如何阻止這個「bug」?
在iframe的一個PHP文件的一個示例:
<script>
var myVar=setInterval(function(){myTimer()},1000)
function myTimer()
{
location.reload();
}
</script>
<?php
$conn_id = ftp_connect($ftp_adress);
// login with username and password
$login_result = ftp_login($conn_id, $username, $password);
// check connection
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
exit;
}else{
echo "FTP connected";
}
//Collect contents from FTP
if(ftp_close($conn_id)){
echo "FTP-closed";
}else{
echo "FTP did not closed";
}
?>
每個重新加載都是一個完全獨立的http請求,導致調用一個新的php來運行你的ftp命令。除非你在服務器上發生了一些奇怪的事情,否則PHP腳本的結尾也應該是該腳本建立的ftp連接的結尾。 –
這是不是單獨的http requset?由於他們在iframes? – Anton
是的。你會有3個iframe運行3個http請求,運行3個php腳本,總共有3個ftp連接。 –