วิธีแก้ปัญหา joomla 3.0.3 แสดงภาพไม่ได้ image url ติด php_flag magic_quotes_gpc Off On

Facebooktwittergoogle_plusredditpinterestlinkedinmail

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 ของท่านก็จะแสดงได้ตามปกติค่ะ

 

Facebooktwittergoogle_plusredditpinterestlinkedinmail
This entry was posted in hosting, joomla. Bookmark the permalink.

Leave a Reply