2016-04-12 101 views
0

突然當我這樣做是我的服務器上:FTP_CONNECT()不返回資源ID

<?php 
$connection = ftp_connect("ftpserver"); // connect to server 
print($connection);print("test");die(); 
?> 

它不返回Resource id #

它只會發生在特定的服務器上,如果我嘗試另一臺服務器上相同的代碼將返回:

Resource id #2test 

它是一個服務器配置?最近該服務器上沒有任何變化。它打印只是「測試」,沒有空或其他東西。我試過了多個ftp服務器,以確保服務器IP不被禁止。

試過function_exists('ftp_connect')它是。

更新:檢查/ var/log/syslog以查看它是否被防火牆阻止。

+0

你究竟得到了什麼,而不是'資源ID#'? –

+0

@MartinHieden沒什麼,它只是打印測試。 –

+0

啓用錯誤報告。 – CodeCaster

回答

0

如果連接失敗,ftp_connect function返回false

打印false不會產生任何結果(false轉換爲空字符串)。

使用var_dump($connection)進行驗證。

您將最有可能獲得:

bool(false) 

這意味着你無法連接到 「FTPServer的」。

ftp_connect應發出警告,提供有關連接問題的詳細信息。

+0

是的,它輸出錯誤。在成功連接到同一個ftp服務器的其他服務器上(相同的代碼),它輸出null。 –

+0

如果不能輸出空值,它應該輸出類似於「(FTP緩衝區)類型的資源(4)」 –

+0

該連接很可能被防火牆阻止。檢查您是否可以通過來自同一臺服務器的命令行進行FTP操作。 –