ThaiSEOBoard.com

พัฒนาเว็บไซต์ => CMS & Free Script => ข้อความที่เริ่มโดย: jiyuu19th ที่ 12 สิงหาคม 2015, 10:20:55



หัวข้อ: อัพเดท 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
PHP Notice:  Undefined index: topicname


เตือนพวกนี้ขึ้นมาตลอดทุกครั้งที่มีการเปิดหน้าเว็บเลยครับ โค้ดมันผิดตรงไหนเหรอครับ ทั้งๆ ที่มันก็เป็นโค้ดตรงๆ มาจาก 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('&amp;', '&', $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: