ftp กับ windows server 2008


    

    ผมใช้ Windows server 2008 เป็น Web server และ ftp server

    โดยใช้ Apache 2.2 เป็น Web service 

    ในโปรเจคที่ทำต้องมีการ ftp เพื่อ upload ไฟล์ขึ้นไปเก็บไว้ในโฟลเดอร์ภายในโปรเจคด้วย (รูป)

    

    ปัญหาก็คือ เมื่อเอา script PHP ไปไว้บน Windows server 2008 แล้วทดสอบดูจะไม่เกิดผลใดๆเลย

    การทดสอบอีกแบบนึงก็คือ ให้เครื่องผมเป็น ftp server และ script PHP อยู่ที่ Windows server 2008 (เหมือนเดิม) ก็ไม่ทำงานเช่นกัน ผมเลยคืดว่า น่าจะมีปัญหาที่ Apache ที่ทำงานบน Windows server 2008

    

    ถ้าเอา script PHP ไว้ที่เครื่องผมเอง และ Windows server 2008 เป็น ftp server ก็สามารถใช้งาน script ได้ปกติ

    

    ตอนแรกใช้ FTP7 คู่กับ IIS7 ของ Windows เองก็ติดปัญหาเดียวกัน และล่าสุดใช้ FileZilla Server แทน

    โดยที่การตั้งค่าก็ทำได้โดยปกติ  สามารถใช้ Command line ของ Windows เอง (ทั้งตัว server และ client) ftp ได้ปกติครับ

    หรือใช้ Browser หรือใช้ Explorer ก็ทำงานได้อย่างถูกต้อง

    

    ผมทำการ debug หลายๆแบบดู ได้ข้อสรุปว่าใน script PHP บันทัดที่ใช้ฟังก์ชั่น ftp_connect มันไม่ทำงานตั้งแต่บันทัดนี้ ยกตัวอย่างเช่น

    

    $ftp_server "xxx"; //<---- ชื่อ server

    $conn_id ftp_connect($ftp_server, 21, 10);

    

    ค่า $conn_id เป็นค่าว่าง ในหน้าจอของ FileZilla Server ไม่มี log เกิดขึ้นเลย แต่ Set time out 10 นั่นก็ทำงานปกตินะครับ

    จึงขอถามผู้ที่ทราบถึงข้อผิดพลาดครั้งนี้ของผม เพื่อแก้ไขให้มันทำงานได้ด้วยครับ Help me please!!!


02 พ.ย. 2553 เวลา 18:45 น. 6 5,255

Server ถูกหรือเปล่า ไม่ต้องมี ftp:// นำหน้านะครับ



ลองกำหนด Server เป็น ip



หรือ Port ถูกต้องหรือเปล่า



Firewall เปิดอยู่หรือเปล่า



Antivirus เปิดอยู่หรือเปล่า



ลองใช้ฟังก์ชั่น ftp_ssl_connect() แทน



ลองกำหนด error_reporting(0); ก่อนเรียกใช้งานฟังก์ชั่น ftp ดูเพื่อดูว่ามี error อะไรเกิดขึ้นบ้าง
#1


    ขอบคุณมากครับ....

    ข้อ 1-3 ทดสอบแล้วไม่พลาดแน่นอน

    ข้อ 4 คิดว่าน่าจะไม่มีปัญหาครับ ผมไป allow service ที่เกี่ยวข้อง แล้วก็ทดสอบ ftp จากทุกเครื่องก็ทำงานได้ นอกจาก php ที่อยู่บน Host เองที่ไม่ทำงาน แต่ script PHP เดียวกันพออยู่บนเครื่องผมเองทำงานปกติ (เปลี่ยนชื่อ Host พอร์ต user pass แล้วก่อนทดสอบ)

    ข้อ 5 Anti virus ก็ไม่มีปฏิกิริยานะครับ ที่ทำงานผมใช้ Anti virus แบบลิขสิทธิ์ถูกต้อง เป็นแบบ Server anti virus เพราะฉะนั้นถ้าโดนบล็อกน่าจะโดนหมด

    

    พรุ่งนี้จะไปลอง ข้อ 6-7 ครับ อยากจะเห็น error massage มากเลย ไม่งั้นไปต่อลำบากจริงๆ ค้นใน google มีข้อมูลน้อยมาก ส่วนใหญ่จะเป็นการกล่าวถึงการตั้งค่า ftp ..... ไปเจอเรื่อง Firewall เลย Allow service ของ FileZilla Server ด้วย ตอนแรกผมเล็งไปในเรื่องของค่า config ของ Apache เองเลยที่ทำงานไม่ค่อยสมบูรณ์ใน Windows server 2008 (อันนี้เดา)

    

    ผมใช้ Script ของ AjaxUpload จากเวปคุณ Goragod นี่แหละ ใช้ได้ดีเลยทีเดียว ขอบพระคุณมากครับ


#2

อ้างอิงจาก ความคิดเห็น #2ผมใช้ Script ของ AjaxUpload จากเวปคุณ Goragod นี่แหละ ใช้ได้ดีเลยทีเดียว ขอบพระคุณมากครับ


เอ ไม่รู้อันไหนครับ ถ้าเป็น script Ajax อัปโหลด อันโบราณ ที่มีไฟล์ Browser ด้วย อันนั้นผมไม่แน่ใจนะครับ เนื่องจากผมเคยได้รับรายงานทำนองนี้มาครั้งนึงนานแล้วซึ่งผมไม่รู้ว่าคนที่นำไปใช้แก้ไขอย่างไร หรือว่าใช้ได้หรือเปล่า ลองค้นหาดูในบอร์ดนะครับ



เท่าที่ทดสอบบน Server ผมเองมันก็ปกติ (Linux บน Server จริงๆ และ Windows บน Server จำลอง) เลยจำไม่ได้ว่าแก้ไขอะไรไปยังไง
#3


    ผมใช้อันนี้นะ...

    http://www.goragod.com/knowledge/2/AJAX Upload.html

    คือผมเอามาประกอบกับหน้า Ajax ที่ผมเขียนอยู่เลยต้องเอาหน้า index ออกแล้วเรียกสคริปจากหน้าที่ผมทำเอง (มันโหลดมาด้วย Ajax) ก็ Work นะครับ ... เพียงแต่ยังไม่ทราบว่าเป็นเพราะอะไรเวลาเอาไปวางบนโฮสจริงมันไม่ทำงาน ก็เลยเขียนสคริปง่ายๆลองทดสอบการ ftp ดู ปรากฎว่ามันไม่ทำงานตั้งแต่ขั้นตอนการ connect แล้ว

    

    คิดว่าสคริปน่าจะไม่มีปัญหานะครับ น่าจะเป็นที่ค่ารกำหนดในส่วนของ server มากกว่า เดี๋ยวถ้าได้ความอย่างไรแล้วจะเอามาโพสเพิ่มเติมครับ


#4


    สวัสดีครับ....

    ขออภัยที่มารายงานผลช้าไปหน่อย หลังจากที่ทดลองทำไปหลายอย่าง จนกระทั่งนึกเอะใจ ด้วยความเลินเล่อของกระผมเอง ในไฟล์ host ผมตั้งค่ากลับไปกลับมาเพื่อทดลองบางอย่างมากไปหน่อย มันเลยขัดกับที่ผมกำหนดค่าชื่อโฮสที่ใช้ ftp

    สรุปว่า ผมเรียกชื่อโฮสผิดนั่นเองมันเลยไม่ตอบสนองกับ Script PHP ตั้งแต่ขั้นตอนการติดต่อโฮสเลย ตอนนี้เลยกำหนดในไฟล์ host ดังนี้ครับ

    

    127.0.0.1      localhost

    127.0.0.1      xxxxx        <----ชื่อโฮสครับ

    

    ตอนนี้เลยใช้ได้ทั้ง IP และ ชื่อโฮส  นอกนั้นทำงานได้ปกติครับ ผมเพิ่มในส่วนของการเปลี่ยนชื่อไฟล์ที่อัพโหลดขึ้นไปและแก้ไขเรื่องการแสดงผลนิดหน่อยครับ

    

    ขอบพระคุณเป็นอย่างสูงสำหรับคำแนะนำทั้งหลาย


#5

ขอบคุณครับที่มาแจ้งผล ซึ่งเป็นสิ่งที่ดี อยากให้ทุกคนเอาเยี่ยงอย่าง เพราะมันจะมีประโยชน์อย่างยิ่งกับคนที่เจอปัญหาคล้ายๆกันครับ



และที่น่าชื่นใจเป็นอย่างยิ่งก็คือ การให้ข้อมูล รวมถึงการ ทดลอง แก้ไข ปรับปรุง และการสรุปข้อมูล ครับ yesyesyes
#6
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^