2009-10-22 20 views
16

मैं एक ftp सर्वर से कनेक्ट करने के लिए निम्न कोड ↓ का उपयोग कर रहा हूं और फ़ाइलों की एक सूची प्राप्त कर रहा हूं। यह मेरी स्थानीय मशीन (फेडोरा 11) पर ठीक काम करता है लेकिन उत्पादन पर नहीं (उबंटू चल रहा है) जहां ftp_nlist विधि गलत लौटाती है।ftp_nlist कमांड काम नहीं कर रहा है

$ftpInfo = array('directory' => 'somewebsite.com', 
       'user' => 'someuser', 
       'password' => 'somepass', 
       'port' => 21, 
       'timeout' => 30); 
$connectionId = ftp_connect($ftpInfo['directory'], 
          $ftpInfo['port'], 
          $ftpInfo['timeout']); 

$loginResult = ftp_login($connectionId, $ftpInfo['user'], $ftpInfo['password']); 

$files = ftp_nlist($connectionId, '.'); 

var_dump($files); 
ftp_close($connectionId); 

मेरी मशीन पर फ़ाइलों की एक सरणी देता है और उत्पादन पर झूठा देता है।

यह विशेष रूप से परेशान करने वाला यह है कि दोनों मामलों में यह कनेक्ट करने और लॉगिन करने और सफलतापूर्वक प्रबंधित करने का प्रबंधन करता है।

var_dump($loginResult); 

रिटर्न

bool(true) 

उत्तर

42

बाहर कर देता है इस सर्वर के फ़ायरवॉल विन्यास से संबंधित था। लॉग इन करने के बाद निष्क्रिय मोड में स्विच किया गया और यह ठीक काम किया।

ftp_pasv($connectionId, true); 
+2

मेरे लिए एक ही समस्या। इस टिप के लिए बहुत बहुत धन्यवाद! –

+0

पुरानी पोस्ट लेकिन सभ्य सलाह। इसने एकदम जादू की तरह काम किया। – Edward

+0

कमाल !!!!!!!! –

संबंधित मुद्दे