บางครั้งคุณไม่สามารถอัปเดต WordPress และปลั๊กอินได้โดยไม่ต้องใช้บัญชี FTP สิ่งนี้มักเกิดขึ้นเมื่อ WordPress ไม่สามารถสื่อสารโดยตรงกับโฟลเดอร์ / wp-content ของคุณ
แม้ว่าสิ่งนี้จะเกิดขึ้นกับคุณ แต่ก็มีบางวิธีที่คุณสามารถหลีกเลี่ยงปัญหานี้และแก้ไข WordPress โดยไม่ต้องเข้าถึง FTP ได้
เกิดอะไรขึ้น?
เมื่อเว็บเซิร์ฟเวอร์ของคุณได้รับอนุญาตให้เข้าถึงไฟล์ที่จำเป็นทั้งหมดระบบจะอัปเดต WordPress และปลั๊กอินทั้งหมดที่คุณติดตั้งโดยอัตโนมัติ นี่ไม่ได้หมายความว่าคุณต้องมีการเข้าถึง FTP / SFTP หรือ SSH แต่คุณต้องตั้งค่าการอนุญาตไฟล์บางอย่างบนเว็บเซิร์ฟเวอร์ของคุณ ระบบจะลองทุกวิธีและหากไม่ได้ผลระบบจะกลับไปที่ FTP
มันเกิดขึ้นตามลำดับนี้:
- ระบบพยายามเขียนไฟล์ไปยัง / wp-content
- หากทำได้สำเร็จไฟล์จะเริ่มเปรียบเทียบความเป็นเจ้าของไฟล์กับตัวระบุเฉพาะ (UID) หากตรงกันคุณจะสามารถติดตั้งส่วนขยายทั้งหมดและอัปเดต WordPress ได้
- หากวิธีนี้ล้มเหลวระบบจะแจ้งให้คุณทราบว่าไม่สามารถอัปเดตได้
หากคุณไม่ต้องการขึ้นอยู่กับการตรวจสอบอัตโนมัตินี้คุณสามารถกำหนดค่าคงที่ใน / wp-config ของคุณ ค่าคงที่นี้มักจะเป็น 'FS_Method'
ป้อน 'FS_METHOD'
วิธีที่เร็วที่สุดในการแก้ปัญหานี้คือการกำหนดค่าคงที่ สิ่งนี้มีประโยชน์เมื่อคุณไม่ต้องการพึ่งพาการตรวจสอบอัตโนมัติเพื่อระบุระบบไฟล์ที่ดีที่สุดที่จะใช้ คุณสามารถทำได้โดยกำหนด 'FS_Method' ในไฟล์ /wp-config.php ของคุณ
นี่คือวิธีการ:
ค้นหา /wp-config.php
ก่อนจะทำอะไรคุณต้องเปิดไฟล์ /wp-config.php คุณสามารถค้นหาได้จากโฟลเดอร์รูทของ WordPress หากคุณมีปัญหาในการค้นหาคุณสามารถค้นหาได้ในโฟลเดอร์โปรแกรมติดตั้ง WordPress ของคุณ ตำแหน่งไฟล์คือ wordpress / wp-config.php
แทรก FS_METHOD
คุณจะต้องวางโค้ดในไฟล์ php ของคุณ ใต้บรรทัดสุดท้ายของโค้ดคุณควรเพิ่ม:
ข้อความที่มุมซ้ายบน netflix
define('FS_METHOD','direct');
เมื่อคุณเพิ่มรหัสนี้คุณจะข้ามปัญหาได้ เมื่อคุณพิมพ์คุณสามารถอัปโหลดไฟล์ไปยังโฟลเดอร์รากของเว็บไซต์บนเซิร์ฟเวอร์และไฟล์จะไม่มีปัญหาในการทำงานในทันที
เมื่อแก้ไขปัญหา FTP คุณจะสามารถติดตั้งส่วนเสริมส่วนขยายธีมเว็บไซต์และการอัปเดตอื่น ๆ
รายละเอียดเกี่ยวกับ FS_METHOD
FS_METHOD จะบังคับใช้วิธีระบบไฟล์ คุณควรเลือกหนึ่งในสี่ข้อต่อไปนี้: direct, ssh2, ftptext หรือ ftpsockets โค้ดจากตัวอย่างก่อนหน้านี้ใช้เมธอด 'direct' วิธีการเหล่านี้เรียงตามความชอบ ค่ากำหนดอันดับแรกคือ 'โดยตรง' และที่สี่คือ 'ftpsockets'
- โดยตรงคือการตั้งค่าแรก การตั้งค่านี้เป็นการตั้งค่าที่ระบบเลือกโดยอัตโนมัติ บังคับให้ระบบใช้คำขอ Direct File / IO ภายใน PHP ในโฮสต์ที่มีการกำหนดค่าไม่ถูกต้องคำขอเหล่านี้อาจทำให้เกิดปัญหาด้านความปลอดภัย
- ssh2 คือการตั้งค่าที่สอง การตั้งค่านี้บังคับให้ระบบใช้ส่วนขยาย SSH PHP หากคุณติดตั้งไว้
- ftptext คือการตั้งค่าที่สาม การตั้งค่านี้บังคับให้ระบบใช้ส่วนขยาย FTP PHP สำหรับการเข้าถึง FTP
- ftpsockets คือการตั้งค่าที่สี่
คุณไม่ควรติดตั้งโค้ดนี้เว้นแต่คุณจะประสบปัญหากับการอัปเดตของคุณ ดังนั้นหากคุณไม่สังเกตเห็นการปรับปรุงใด ๆ หลังจากเปลี่ยนแล้วให้ลองเปลี่ยนกลับหรือนำออก โดยปกติตัวเลือก 'ftpsockets' ควรใช้งานได้หากการอัปเดตอัตโนมัติล้มเหลว
ทางเลือก: รับการสนับสนุน SSH SFTP Updater
WordPress เพิ่งเพิ่มปลั๊กอินที่เรียกว่า รองรับ SSH SFTP Updater ที่อาจแก้ไขปัญหานี้ ปลั๊กอินนี้จะอัปเดตการติดตั้ง WordPress ของคุณตลอดเวลา ใช้ phpseclib (ไลบรารีการสื่อสารที่ปลอดภัย) เพื่อแก้ไขปัญหานี้
เมื่อคุณติดตั้งแอพนี้ให้ไปที่ /wp-config.php และใส่รหัส:
linux mint 18 wallpaper
define (‘FS_Method’, ‘ssh2’);
เมื่อคุณทำเสร็จแล้วคุณจะมีปัญหาน้อยลงในการจัดการกับเซิร์ฟเวอร์ใน SFTP และ SSH
สำหรับผู้ใช้ขั้นสูง: การเปิดใช้งาน SSH2 ด้วยตนเอง
หากคุณต้องการเปิดใช้ SSH2 สำหรับการอัปเดตปลั๊กอินและการอัปโหลดธีมคุณจะต้องสร้างคีย์ SSH ของคุณเองและติดตั้งโมดูล PHP SSH เมื่อคุณทำเช่นนี้ WordPress จะเห็นว่าคุณมี SSH2 อยู่ ซึ่งหมายความว่าคุณจะเห็นตัวเลือก SSH2 เมื่อคุณทำการอัปเกรด
คุณสร้างคีย์ SSH โดยพิมพ์รหัส:
ssh-keygen
cd~/.ssh
cp id_rsa.pub authorized_keys
จากนั้นคุณเปลี่ยนการอนุญาตเพื่อให้คุณสามารถเข้าถึงไฟล์เหล่านี้ได้โดย WordPress:
cd ~
chmod 755 .ssh
chmod 644 .ssh/*
สรุปแล้ว
ปัญหา FTP มักจะปรากฏขึ้นหากคุณใช้โฮสติ้งที่ใช้ร่วมกันและสิทธิ์และความเป็นเจ้าของทับซ้อนกันจึงทำให้เกิดข้อขัดแย้ง ด้วยเหตุนี้จึงเป็นการดีที่จะกำหนด FS_METHOD เพื่อให้คุณสามารถอัปเดตและแก้ไข WordPress ได้โดยไม่ต้องให้รายละเอียด FTP ใด ๆ