หัวข้อ: อัพเดท wp 4.2.4 แล้วเจอ debug warning นี้แก้ยังไงเหรอครับ เริ่มหัวข้อโดย: jiyuu19th ที่ 12 สิงหาคม 2015, 10:20:55 PHP Warning: in_array() expects parameter 2 to be array, string given in /home/.../public_html/wp-includes/formatting.php on line 342
อ้างถึง // Handle disabled tags. if ( in_array( $tag, $disabled_elements ) ) { // บรรทัดที่ 342 if ( $opening_tag ) { /* * This disables texturize until we find a closing tag of our type * (e.g. <pre>) even if there was invalid nesting before that * * Example: in the case <pre>sadsadasd</code>"baba"</pre> * "baba" won't be texturize */ array_push( $stack, $tag ); } elseif ( end( $stack ) == $tag ) { array_pop( $stack ); } } แล้วอันนี้จะรู้ไหมครับ ว่ามันเตือนจากโค้ดไหน มันไม่บอกเลยว่ามาจากไฟล์ไหนครับ โค๊ด: PHP Notice: Undefined index: 36 เตือนพวกนี้ขึ้นมาตลอดทุกครั้งที่มีการเปิดหน้าเว็บเลยครับ โค้ดมันผิดตรงไหนเหรอครับ ทั้งๆ ที่มันก็เป็นโค้ดตรงๆ มาจาก wordpress เอง หัวข้อ: Re: อัพเดท wp 4.2.4 แล้วเจอ debug warning นี้แก้ยังไงเหรอครับ เริ่มหัวข้อโดย: Zentana ที่ 12 สิงหาคม 2015, 10:52:16 อาจจะเกิดการผิดพลาดระหว่างการอัพเดทได้
ลอง Re-Install อีกรอบดูก่อนครับ หัวข้อ: Re: อัพเดท wp 4.2.4 แล้วเจอ debug warning นี้แก้ยังไงเหรอครับ เริ่มหัวข้อโดย: sputtaro ที่ 12 สิงหาคม 2015, 11:02:52 หากพูดตามหลักการของ PHP นะครับ (ผมไม่ค่อยรู้เรื่อง WP)
จากบรรทัดนี้ if ( in_array( $tag, $disabled_elements ) ) { มันเป็นการแจ้งว่า ค่า $disabled_elements ที่ได้รับ ไม่ใช่ array วิธีแก้ไขเพื่อการทดสอบ ลองเพิ่มโค๊ดนี้ดูครับ $disabled_elements = array(); if ( in_array( $tag, $disabled_elements ) ) { ไม่รับประกันอะไรทั้งสิ้นนะครับ ผมว่าตามหลักเท่านั้นเอง และไม่รู้ว่าจะช่วยได้ไหม เพราะผมไม่รู้ว่า WP ใช้ฟังชั่นนี้ตรงไหนอีกบ้าง เกี่ยวพันไปถึงส่วนไหนอีกบ้าง หัวข้อ: Re: อัพเดท wp 4.2.4 แล้วเจอ debug warning นี้แก้ยังไงเหรอครับ เริ่มหัวข้อโดย: jiyuu19th ที่ 12 สิงหาคม 2015, 11:12:18 อาจจะเกิดการผิดพลาดระหว่างการอัพเดทได้ ลอง Re-Install อีกรอบดูก่อนครับ ผมไปอัพเดทเองครับ ปกติเคยทำก็ไม่มีปัญหา ทับหมดทุกไฟล์เว้น wp-contant wp-config.php มันก็แจ้งวันอัพเดทสำเร็จครับ ถ้าไม่ได้จริงๆ เดี๋ยวลองเอาแบคอัพมาลงใหม่ครับ หากพูดตามหลักการของ PHP นะครับ (ผมไม่ค่อยรู้เรื่อง WP) จากบรรทัดนี้ if ( in_array( $tag, $disabled_elements ) ) { มันเป็นการแจ้งว่า ค่า $disabled_elements ที่ได้รับ ไม่ใช่ array วิธีแก้ไขเพื่อการทดสอบ ลองเพิ่มโค๊ดนี้ดูครับ $disabled_elements = array(); if ( in_array( $tag, $disabled_elements ) ) { ไม่รับประกันอะไรทั้งสิ้นนะครับ ผมว่าตามหลักเท่านั้นเอง และไม่รู้ว่าจะช่วยได้ไหม เพราะผมไม่รู้ว่า WP ใช้ฟังชั่นนี้ตรงไหนอีกบ้าง เกี่ยวพันไปถึงส่วนไหนอีกบ้าง ขอบคุณครับ เดี๋ยวไปลองดูก่อนครับ หัวข้อ: Re: อัพเดท wp 4.2.4 แล้วเจอ debug warning นี้แก้ยังไงเหรอครับ เริ่มหัวข้อโดย: coolsweet ที่ 12 สิงหาคม 2015, 11:16:00 เข้ามาฟังด้วยครับผม ขอบคุณคร้าบ :wanwan017:
หัวข้อ: Re: อัพเดท wp 4.2.4 แล้วเจอ debug warning นี้แก้ยังไงเหรอครับ เริ่มหัวข้อโดย: jiyuu19th ที่ 12 สิงหาคม 2015, 12:08:12 โอ้ มันไม่เตือนแล้วครับ ทำตามที่ คุณ sputtaro บอกไว้ครับ ขอบคุณมากๆ ครับ
แล้วอันนี้คืออะไรเหรอครับ PHP Warning: htmlspecialchars() [<a href='function.htmlspecialchars'>function.htmlspecialchars</a>]: Invalid multibyte sequence in argument มันมาจากโค้ดนี้ครับ อ้างถึง function sp_filter_tooltip_display($content, $status) { global $spThisUser; #save unedited content $original = $content; # can the current user view this post? if (!$spThisUser->moderator && $status == 1) { $content = sp_text('Post Awaiting Approval by Forum Administrator'); } else { $content = addslashes($content); $content = sp_filter_save_nohtml($content); # remove shortcodes to prevent messing up tooltip $content = strip_shortcodes($content); $length = apply_filters('sph_tooltip_length_chars', 300); if (strlen($content) > $length) { $pos = strpos($content, ' ', $length); if ($pos === false) $pos = $length; $content = substr($content, 0, $pos).'...'; } $content = htmlspecialchars($content, ENT_QUOTES, 'UTF-8'); // บรรทัดนี้ครับ ผมไปหาข้อมูลมา มีคนบอกให้ใส่ UTF-8 เพิ่ม แต่ของเดิมมันก็มีอยู่แล้วครับ $content = str_replace('&', '&', $content); } $content = apply_filters('sph_display_tooltip_filter', $content, $original, $status); return $content; } พวกที่ไม่บอกว่าเตือนจากไฟล์ไหน เราจะมีวิธีหาไหมครับ ว่ามันเป็นโค้ดไฟล์ไหน มันขึ้นแค่ว่า undefined เท่านั้นเองครับ อ้างถึง PHP Notice: Undefined offset: 1 PHP Notice: Undefined offset: 4 PHP Notice: Undefined index: topicname PHP Notice: Undefined index: 36 หัวข้อ: Re: อัพเดท wp 4.2.4 แล้วเจอ debug warning นี้แก้ยังไงเหรอครับ เริ่มหัวข้อโดย: sputtaro ที่ 12 สิงหาคม 2015, 12:18:05 $content = htmlspecialchars($content, ENT_QUOTES, 'UTF-8');
คำสั่งนี้ถูกต้องแล้ว แต่อาจเกิดจาก PHP 5.4 and 5.5 will use UTF-8 as the default. Earlier versions of PHP use ISO-8859-1. ลองสลับดูนะครับ เพราะไม่แน่ใจว่าควรใช้ อะไรแทน PHP เวอร์ชั่นที่คุณใช้อยู่ ส่วน PHP Notice: Undefined offset: 1 PHP Notice: Undefined offset: 4 PHP Notice: Undefined index: topicname PHP Notice: Undefined index: 36 พวกนี้ต้องให้ผู้เชี่ยวชาญ WP เป็นคนอธิบายจะดีกว่าครับ ************************************ ขอเพิ่มเติมเกี่ยวกับ encoding โดยเฉพาะในส่วนของการตั้งค่า default_charset configuration option ลองอ่านจากลิ้งค์ข้างล่างด้วยนะครับ http://php.net/manual/en/ini.core.php#ini.default-charset หัวข้อ: Re: อัพเดท wp 4.2.4 แล้วเจอ debug warning นี้แก้ยังไงเหรอครับ เริ่มหัวข้อโดย: jiyuu19th ที่ 12 สิงหาคม 2015, 12:43:27 เป็นเวอร์ชั่นนี้ครับ Php 5.3.28
เป็นจาก UTF-8 เป็น ISO-8859-1 ใช่ไหมครับ เดี๋ยวผมจะลองเปลี่ยนดูครับ เป็นอย่างไรจะมารายงานอีกทีครับ หัวข้อ: Re: อัพเดท wp 4.2.4 แล้วเจอ debug warning นี้แก้ยังไงเหรอครับ เริ่มหัวข้อโดย: jiyuu19th ที่ 12 สิงหาคม 2015, 14:12:23 warning หายไปแล้วครับ ขอบคุณมากๆ ครับ
เรื่องพวก php นี่รู้แค่ผิวๆ พอแค่ปรับแต่งได้ ไม่ก็หาใน gg แต่ถ้าลึกขนาดวิเคราะห์ปัญหาได้ หรือหาในต่างประเทศก็ไม่เจอเคสคล้ายกัน นี่จนปัญญาเลยครับ :wanwan017: :wanwan017: |