ถ้า value ของ Array ช่องนึงเป็น NULL เวลาที่เช็คด้วยคำสั่ง isset มันจะได้ false ดังตัวอย่างนี้
[php]<?php
$arr = array();
$arr[‘foo’] = NULL;
var_dump( isset( $arr[‘foo’] ); // ให้ผลลัพท์เป็น bool(false)
?>[/php]
วิธีที่จะเช็คว่า Array มีการกำหนด key นั้นอยู่ และค่าของมันเป็น NULL ด้วย ให้ใช้คำสั่ง array_key_exists ดังตัวอย่างนี้นี้
[php]<?php
if ( array_key_exists( ‘foo’, $arr ) && is_null( $arr[‘foo’] ) )
echo "OK";
?>[/php]
Zimbra: Monitor – Server Status still show old hostname
After you changed hostname ( http://wiki.zimbra.com/wiki/ZmSetServerName ). The old hostname still exist in menu Monitor > Server Status. You have to remove it by this command
zmloggerhostmap -d <dns_hostname> <zm_hostname>
ps. I input <dns_hostname> and <zm_hostname> as same value that is show in Server Status.
Install CentOS 6.4 บนเครื่องที่เป็น UEFI
พอดีได้เครื่อง IBM sytem x3250 M4 มา ผมก็จะนำมาติดตั้ง CentOS 6 + DirectAdmin ตามปรกติ แต่ปรากฏว่าติดปัญหาหลาย step โคตรๆ ตั้งแต่ไม่บูทแผ่น ไม่บูท USB กว่าจะ debug จนทำให้มันบูทเข้า USB ได้นี่ก็เสียเวลาไปเยอะ เพราะว่า Restart แต่ละทีมันรอนานมาก
สรุปประเด็นหลักๆ ที่ติด และวิธีการแก้ไข
1.) USB ที่สร้างมาจาก minimal มันจะไม่สามารถบูทได้ วิธีแก้ คือ ให้ copy โฟลเดอร์ /images/pxeboot ที่อยู่ในแผ่น DVD-1 มาใส่ใน USB ด้วย
2.) การกำหนด Partition ตอนติดตั้ง OS ให้กำหนดเป็นแบบนี้
- /dev/sda
- /boot ext3 200M
- /boot/efi EFI System Partition 200M
- /dev/sdb
- … ext3 200M
- … vfat 200M
NVDIA GeForce underclock Software
ใช้โปรแกรม MSI Afterburner
ติดตั้ง node.js บน CentOS 6 (64bit)
Prerequisites
yum -y update
yum -y groupinstall "Development Tools"
yum -y install screen
Node.js installation
cd /usr/src
wget http://blog.kentreez.com/wp-content/uploads/2013/10/node-v0.10.20.tar.gz
tar -zxvf node-v0.10.20.tar.gz
cd node-v0.10.20
./configure
make
make install
ปรับความกว้าง คอลัมน์ซ้ายของ Gmail
พอดีอยากได้ left column ของ Gmail ให้กว้างๆ หน่อย เพราะว่ามี Label ที่ชื่อยาว แล้วมันมองไม่เห็นเลขจำนวน Unread. ก็เลยไปเสิร์ซหาดู พบ UserScripts ในอันดับแรกๆ เลย. Feature ใช้ได้เลย มันจำความกว้างที่เราตั้งไว้ ไว้ใน cookie ด้วย ถ้าเรามีการเปิดหน้า Gmail ใหม่ มันก็จะปรับความกว้างไว้ให้เลย.
Modifying timthumb.php in wordpress’s theme for optimize performance
ปรกติแล้วใน timthumb.php จะมีความสามารถในการ cache รูปที่ถูกย่ออยู่แล้ว เพื่อไม่ให้มันต้อง crop รูปสำหรับทุกๆ request. แต่ว่าปัญหา คือ ไฟล์ cache ของ timthumb นั้น มันไม่ใช่ไฟล์รูปที่สามารถเปิดดูได้โดยตรง เพราะว่าที่ส่วนหัวของ cache จะมี filePrependSecurityBlock แทรกอยู่เพื่อป้องกันการส่งสคริปท์ php เข้าไปรัน. จากลักษณะการทำงานที่เป็นชี้นี้ ทำให้เราไม่สามารถใช้พวก Reverse proxy หรือ CDN มาช่วยในการลดโหลดได้ของ WordPress ที่มีจำนวน Traffic สูงๆ ได้ (ไม่งั้นมันเรียก php ขึ้นมาทำงานตลอด). Continue reading “Modifying timthumb.php in wordpress’s theme for optimize performance”
ติดตั้ง Apache 2.4, PHP 5.4, MySQL บน Windows 7
- สร้างโฟลเดอร์ C:\Wamp\ และ C:\Wamp\www
- ดาวน์โหลด Apache 2.4 (หรือดาวน์โหลดจากที่นี่ http://www.apachelounge.com/download/) ไปวางเป็น C:\Wamp\Apache2.4\
- ดาวน์โหลด VC9 x86 Thread Safe หรือจากที่นี่
http://windows.php.net/download/
Extract File ที่ตำแหน่ง C:\Wamp\php-5.4\ - แก้ไขไฟล์ C:\Wamp\Apache2.4\conf\httpd.conf
- แก้ตัวแปรต่างๆ ดังนี้
ServerRoot “C:/Wamp/Apache2.4”
Replace All: c:/Apache24/htdocs With: C:/Wamp/Apache2.4/www
AllowOverride None เปลี่ยนเป็น AllowOverride All - เติมโค๊ดนี้เข้าไปที่ด้านล่างสุด
LoadModule php5_module "C:/Wamp/php-5.4/php5apache2_4.dll" AddHandler application/x-httpd-php .php PHPIniDir "C:/Wamp/php-5.4" DirectoryIndex index.html index.php
- Enable module ต่อไปนี้
- mod_expires.so
- mod_headers.so
- mod_rewrite.so
- mod_socache_shmcb.so
- mod_ssl.so
- Uncomment บรรทัดนี้ “Include conf/extra/httpd-ssl.conf”
- แก้ตัวแปรต่างๆ ดังนี้
- แก้ไฟล์ C:\Wamp\Apache2.4\conf\extra\httpd-ssl.conf
- SSLCertificateFile “C:\Wamp\Apache2.4\conf\ssl\server.crt”
- SSLCertificateKeyFile “C:\Wamp\Apache2.4\conf\ssl\server.key”
- SSLSessionCache “shmcb:C:/Wamp/Apache2.4/logs/ssl_scache(512000)”
- DocumentRoot “C:/Wamp/www”
- ErrorLog “C:/Wamp/Apache2.4/logs/error.log”
- TransferLog “C:/Wamp/Apache2.4/logs/access.log”
- CustomLog “C:/Wamp/Apache2.4/logs/ssl_request.log”
- rename “C:\Wamp\php-5.4\php.ini-development” to “C:\Wamp\php-5.4\php.ini”
- แก้ไฟล์ php.ini
- extension_dir = “C:/Wamp/php-5.4/ext”
- date.timezone = “Asia/Bangkok”
- enable extensions
- extension=php_mysql.dll
- extension=php_mysqli.dll
- cmd.exe (Run as Administrator) แล้วรันคำสั่ง
cd \Wamp\Apache2.4\conf\ ..\bin\openssl.exe req -config openssl.cnf -x509 -nodes -subj "/C=TH/ST=Bangkok/L=Bangkok/O=localhost/OU=SEC/CN=localhost" -days 1825 -newkey rsa:2048 -keyout ssl\server.key -out ssl\server.crt C:\Wamp\Apache2.4\bin\httpd.exe -k install
- ใน Environment Variables ตรง System Variables ให้เติม C:\Wamp\Apache2.4; C:\Wamp\Apache2.4\bin ต่อเข้าไปใน PATH
- ดาวน์โหลด mysql (.msi) จากที่นี่ http://dev.mysql.com/downloads มาติดตั้ง
- …
Time’s Up!
เซ็งมากๆ ตอนนี้งานค้างใน Trello เต็มไปหมดเลย. ยังเคลียของเก่าได้ไม่เท่าไหร่ พอของใหม่เพิ่มเข้ามา แล้วมันมากกว่าเดิมอีก (T-T…
รู้สึกได้ว่าทำงานช้าลงโคตรๆ ก่อนหน้านี้ผมเข้าใจว่ามันเป็นเพราะมีงานอื่นๆ เข้ามาขัดจังหวะมากเกินไป หรือไม่ก็ทำงานอื่นๆ จนพลังงานผมมันหมดไปแล้ว. แต่มาตอนนี้ผมเริ่มกลัวว่ามันจะเป็นปัญหาที่ตัวผมที่ noob เอง.
ผมอยากจะหายตัวได้จัง…
ตอนนี้สิ่งที่ต้องทำเพื่อแก้ปัญหา กับปัญหาที่ต้องแก้(ก่อน) มันเหมือนเป็นสิ่งที่ทำให้ผมวิ่งเป็นวงกลม และถ้าผมต้องการที่จะหยุดวงจรอุบาตนี้ ผมต้องวิ่งให้เร็วขึ้นและนานขึ้น. ไอ้เxี้ยเอ๊ย แล้วถึงตอนนั้นผมจะยังมีชีวิตรอดมั้ยวะเนี่ยครับ!? /piff
Sorting IP Address in MySQL
ใน MySQL มี function สำหรับ sort ip ให้ด้วย ^^.
คำสั่งที่ว่า คือ INET_ATON
SELECT * FROM `table_names` ORDER BY INET_ATON(`ip_addr`) ASC