Joomla 3.0.3 แสดงภาพไม่ได้ติดเครื่องหมายแบคสแลช \images/ และวิธีแก้ไขให้แสดงภาพได้
เว็บไซต์ที่ทำด้วย joomla version 3.0 ขึ้นไป เช่น 3.0.1 3.0.2 , 3.0.3 หากแสดงภาพไม่ได้ เมื่อมีการ save บทความ url ของภาพจะเพิ่มเครื่องหมาย backslash (แบ็คสแลช) \ ให้อัตโนมัติ ทำให้เว็บไซต์แสดงภาพไม่ได้
เมื่อคลิ๊กขวาดูที่ url ของภาพ จะเห็นเป็น \imange/mypic.jpg
ทำให้ภาพแสดงไม่ได้เนื่องจากมีเครื่องหมาย \ เกินมา
สาเหตุการแสดงภาพไม่ได้ของ joomla 3.0.x เกิดจาก
โฮสติ้งที่ใช้งานอยู่ตั้งค่า php_flag magic_quotes_gpc On เพื่อป้องกันการทำ SQL injection สำหรับการเขียนโค๊ดแบบเก่า
ใน php 5.3 จะตัด ฟังก์ชั่นนี้ออกไปแล้ว ดังนั้น ถ้าเครื่องไหนที่ติดตั้ง php 5.3 ไว้จะขึ้นเป็น magic_quotes_gpc is deprecated
แต่ที่บางโฮสติ้งยังต้องเปิด On ไว้อยู่เนื่องจากยังมีเว็บไซต์ของลูกค้าในเครื่องบางท่านที่ยังเขียนโค๊ดแบบเก่าอยู่
ดังนั้น สำหรับเว็บไซต์ที่ทำด้วย joomla 3.0.x ขึ้นไป ซึ่งตัวโปรแกรม joomla รุ่นนี้ต้องการให้ปิดการใช้งาน magic_quotes_gpc นี้ออกไป (Joomla require php_flag magic_quotes_gpc Off ) เพื่อให้สามารถแสดงตำแหน่งภาพ ( images url) ได้ถูกต้อง โปรดทำดังนี้
การปิด magic_quotes_gpc ทำได้ 2 วิธีคือ
1. กรณีสามารถเข้าแก้ไขไฟล์ config ของ server ได้ ให้เข้าไปแก้ไปที่ php.ini ได้เลยโดย
nano /usr/local/lib/php.ini
แล้วเปลี่ยนแถว
php_flag magic_quotes_gpc On เป็น ==> php_flag magic_quotes_gpc Off
แล้ว service httpd restart
2. กรณีเข้าไปแก้ไขไฟล์ php.ini ของ server ไม่ได้
ให้ไปเพิ่มค่าเข้าไปที่ไฟล์ .htaccess แทน
กรณีใช้ DirectAdmin ก็เข้าไปที่ File manager
แล้วเลื่อนหาไฟล์ชื่อ .htaccess แล้วกด edit แล้วเลื่อนลงท้ายไฟล์
แล้วเพิ่ม php_flag magic_quotes_gpc Off เข้าไปได้เลย
แล้วกด save
หากไม่พบไฟล์ .htaccess อยู่ในนี้ ก็สามารถสร้างขึ้นมาใหม่ได้ ด้วย โปรแกรม notepad แล้ว save เป็นชื่อ “.htaccess” ไม่มีนามสกุล
แล้วอัพโหลด .htaccess ไปไว้ในโฟลเดอร์ที่ติดตั้ง joomla 3.0.x ไว้ค่ะ
เมื่อแก้ไขค่า magic_quotes_gpc ให้เป็น Off ได้แล้ว
ก็ล็อกอินเข้าไปแก้ไขบทความของ joomla ที่เคยแทรกภาพไว้แล้วแต่แสดงไม่ได้ ลบภาพเดิมออกก่อน แล้วกด แทรกภาพใหม่
เมื่อ save แล้ว คราวนี้ระบบก็จะไม่ใส่เครื่องหมาย \ หน้าโฟลเดอร์ images ให้อัตโนมัติอีกแล้ว ภาพในบทความ joomla ของท่านก็จะแสดงได้ตามปกติค่ะ