News:

Exness ลงทะเบียนระบบใหม่ ใส่รหัสพาร์ทเนอร์ 73208
https://www.exness.com/boarding/sign-up/a/73208?lng=th
1. เลือกประเทศ ไทย
2. อีเมล์จริงของคุณ
3. รหัสผ่าน
* รหัสผ่านต้องมีความยาว 8-15 ตัว
* ใช้ทั้งอักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก
* ใช้ทั้งตัวเลขและตัวอักษรภาษาอังกฤษ
* ห้ามใช้อักขระพิเศษ (!@#$%^&*., และอื่นๆ)
4. ใส่รหัสพาร์ทเนอร์ 73208
---------------------------------------------------------

Main Menu

การแก้ไข smf error Fatal error: Call to undefined function idna_maps_not_std3().

Started by junjao, November 07, 2025, 12:27:17 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

junjao

smf error Fatal error: Uncaught Error: Call to undefined function idna_maps_not_std3() in C:\inetpub\vhosts\junjao.com\httpdocs\board\Sources\Class-Punycode.php:537 Stack trace: #0 C:\inetpub\vhosts\junjao.com\httpdocs\board\Sources\Class-Punycode.php(280): Punycode->preprocess() #1 C:\inetpub\vhosts\junjao.com\httpdocs\board\Sources\Class-Punycode.php(148): Punycode->decode() #2 C:\inetpub\vhosts\junjao.com\httpdocs\board\Sources\Subs-Compat.php(493): Punycode->encode() #3 C:\inetpub\vhosts\junjao.com\httpdocs\board\Sources\Subs.php(8055): idn_to_ascii() #4 C:\inetpub\vhosts\junjao.com\httpdocs\board\Sources\Subs.php(6135): iri_to_url() #5 C:\inetpub\vhosts\junjao.com\httpdocs\board\Sources\ScheduledTasks.php(1151): fetch_web_data() #6 C:\inetpub\vhosts\junjao.com\httpdocs\board\install.php(1837): scheduled_fetchSMfiles() #7 C:\inetpub\vhosts\junjao.com\httpdocs\board\install.php(164): DeleteInstall() #8 {main} thrown in C:\inetpub\vhosts\junjao.com\httpdocs\board\Sources\Class-Punycode.php on line 537

แก้ไขอย่างไร

ข้อผิดพลาดนี้ใน **SMF (Simple Machines Forum)**

```
Fatal error: Uncaught Error: Call to undefined function idna_maps_not_std3()
```

หมายความว่า PHP ของเซิร์ฟเวอร์คุณ **ไม่มีฟังก์ชัน `idna_maps_not_std3()`** ซึ่งมาจาก **PHP extension ชื่อ intl (Internationalization extension)** — โดยเฉพาะ **ฟังก์ชันที่ใช้กับ IDN (Internationalized Domain Names)**

---

### 🔧 วิธีแก้ไขหลัก (แนะนำ)

ให้เปิดใช้งานหรือเปิดติดตั้ง **PHP intl extension**

#### ✅ ถ้าใช้ Windows Server (Plesk / IIS)

1. เข้าหน้า **Plesk** → ไปที่
  **Tools & Settings → PHP Settings → PHP Extensions**
2. มองหา **intl** แล้วติ๊ก ✅ เปิดใช้งาน
3. หรือถ้าจัดการไฟล์ `php.ini` เอง ให้แก้ไฟล์:

  ```
  extension=intl
  ```

  (เอาเครื่องหมาย `;` ออกจากหน้า extension ถ้ามี)
4. จากนั้น **restart IIS หรือ Apache / PHP-FPM**

---

### 🧩 วิธีตรวจสอบว่าติดตั้งสำเร็จหรือไม่

สร้างไฟล์ชื่อ `phpinfo.php` ไว้ในโฟลเดอร์เว็บ (เช่น `httpdocs/board/phpinfo.php`)
ใส่โค้ด:

```php
<?php phpinfo(); ?>
```

เปิดในเว็บเบราว์เซอร์ เช่น
`https://www.junjao.com/board/phpinfo.php`

แล้วดูว่ามีส่วนหัว **intl** แสดงอยู่หรือไม่
ถ้ามี = ใช้งานได้แล้ว ✅
ถ้าไม่มี = extension ยังไม่เปิดใช้งาน ❌

---

### ⚙️ ทางแก้ชั่วคราว (ถ้ายังเปิด intl ไม่ได้)

บางเวอร์ชันของ SMF 2.1.x สามารถแก้ได้โดย **ปิดการใช้ IDN (Punycode)** ชั่วคราว:

1. เปิดไฟล์:

  ```
  Sources/Subs-Compat.php
  ```
2. หาโค้ดที่มี `idn_to_ascii(` แล้วใส่เงื่อนไขครอบไว้แบบนี้:

  ```php
  if (function_exists('idn_to_ascii'))
      $domain = idn_to_ascii($domain, 0, INTL_IDNA_VARIANT_UTS46);
  else
      $domain = $domain; // fallback ป้องกัน error
  ```

แต่วิธีนี้เป็นการ "ข้าม" การแปลงชื่อโดเมนสากลเท่านั้น ควรใช้ชั่วคราวเท่านั้น ⚠️

---

### 💡 สรุปสั้น ๆ

| สาเหตุ                                | วิธีแก้หลัก                        | วิธีชั่วคราว                                        |
| -------------------------------------- | ---------------------------------- | ---------------------------------------------------- |
| PHP ไม่มีฟังก์ชัน idna_maps_not_std3() | เปิดหรือเพิ่ม PHP extension `intl` | แก้ไฟล์ Subs-Compat.php ให้ตรวจสอบ function_exists() |

---

ถ้าคุณบอกผมได้ว่า

* ใช้ **PHP version** อะไร (ดูจาก Plesk หรือ phpinfo)
* ใช้ **SMF version** อะไร (เช่น 2.1.3 หรือ 2.1.4)
----------------------------------
MT4 MT5 EA Indicator EURUSD USDJPY XAUUSD Gold Bitcoin Oil
สอบถาม 081-446-5311 , line : junjaocom , Email : jun_jao2000@hotmail.com
สมัคร Exness ได้ที่ https://www.exness.com/a/73208
หน้าลงทะเบียน Exness ได้ที่ https://www.exness.com/boarding/sign-up/a/73208?lng=th
ขั้นตอนสมัคร exness https://www.junjao.com/board/index.php?topic=279

junjao

MT4 MT5 EA Indicator EURUSD USDJPY XAUUSD Gold Bitcoin Oil
สอบถาม 081-446-5311 , line : junjaocom , Email : jun_jao2000@hotmail.com
สมัคร Exness ได้ที่ https://www.exness.com/a/73208
หน้าลงทะเบียน Exness ได้ที่ https://www.exness.com/boarding/sign-up/a/73208?lng=th
ขั้นตอนสมัคร exness https://www.junjao.com/board/index.php?topic=279