websevices

×

Error message

  • Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in _menu_load_objects() (line 579 of /data/wwwroot/includes/menu.inc).
  • Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /data/wwwroot/includes/common.inc).

Compile WSO2 WSF/PHP บน FreeBSD

หลายคนคงเคยใช้ WSO2 Web Services Framework for PHP ( http://wso2.org/projects/wsf/php ) ซึ่งเป็น Framework ตัวนึงที่น่าใช้ทีเดียว ในการลงบน linux นั้น ไม่ใช่เรื่องยาก ไม่ว่าจะลงโดย binary หรือการ compile เอง แต่เนื่องจาก kernel ของ Freebsd และ Linux มีการเรียก IO ใช้ต่างกัน ในรายละเอียด ทำให้ library บางอย่างไม่มี เกิด compilation error ได้

  1. # tar zxvf wso2-wsf-php-src-snapshot.tar.gz
  2. # cd wso2-wsf-php-src-2.0.0
  3. # ./configure
  4. # make
  5. uuid_gen_unix.c: In function `axutil_uuid_get_mac_addr':
  6. uuid_gen_unix.c:337: error: `SIOCGARP' undeclared (first use in this function)
  7. uuid_gen_unix.c:337: error: (Each undeclared identifier is reported only once
  8. uuid_gen_unix.c:337: error: for each function it appears in.)
  9. *** Error code 1

หาใน google มีคนเจอเหมือนกัน แต่ไม่ได้อยู่ดี เอาเป็นว่าลบทิ้งเลยละกันบรรทัดนั้น -_-''

  1.     memcpy(&(sa->sin_addr), *(he->h_addr_list), sizeof(struct in_addr));
  2. /* คอมเมนต์ซะ
  3.     if (ioctl(s, SIOCGARP, &ar) < 0)
  4.     {
  5.         close(s);
  6.         return NULL;  
  7.     }
  8. */
  9.     close(s);
  10.     if (!(ar.arp_flags & ATF_COM))
  11.         return NULL;
  1. # make

อีกอัน เหมือน ftime() ไม่มี ต้องลง libcompat

  1. # cd /usr/ports/misc/compat5x
  2. # make install clean