Siam2Advance Blog :

Web Programmer and Developer

Aug
06

ติดตั้ง PHP Alternative PHP Cache (APC)

Posted by Mr. Suriya

วันนี้มีเหตุต้องใช้ APC เพราะต้องทำตัว Upload Progress bar ซึ่งจะต้องใช้เจ้าตัว extension apc.so ช่วย
ในการติดตั้งนั้น ถ้าไม่ติดตั้งพวก Devel ต่างๆนั้นจะ Compile ไม่ผ่าน จะตั้งติดตั้งพวกที่เป็น Devel ต่างๆด้วย

คำสั่งในการติดตั้ง :
Read the rest of this entry »

Aug
05

มา Benchmark Script PHP กันครับ

Posted by Mr. Suriya

สามารถใช้คำสั่งนี้ในการทดสอบประสิทธิภาพของ Script ของเราครับ
ว่ามีการประมวลผล ได้เร็วแค่ใหน เราสามารถจำลองจำนวน Request มากๆได้เลยครับ
เช่น 100000 ขึ้นไปเลย

Command :
# ab -c 500 -n 100000 http://localhost:80/test-script-php.php

แล้วมันจะแสดง Report ออกมาให้เราดูครับว่าการประมวลผลเป็นอย่างไร
Server ตัวที่ผมติดตั้งนี้ผมใช้ Lighttpd+php-cgi นะครับ

Jun
13

Code สำหรับ ทำ Iframe Expand

Posted by Mr. Suriya

var md_width=728;
var md_height=300;
var md_iframeID=’ads_topbanner_if’;
var mydoc=parent.document;
mydoc.getElementById(md_iframeID).allowTransparency = “true”;
mydoc.getElementById(md_iframeID).style.width = md_width;
mydoc.getElementById(md_iframeID).style.height = md_height;
mydoc.getElementById(md_iframeID).style.position = “absolute”;
mydoc.getElementById(md_iframeID).style.zIndex = 1;

?BODY leftmargin=”0″ topmargin=”0″ marginwidth=”0″ marginheight=”0″ style=”background-color:#000000″

Jun
11

Update PHP 4 to PHP 5.2.5 on DirectAdmin

Posted by Mr. Suriya

วันนี้มีเหตุให้ต้องทำการ Up version ของ PHP จาก 4.4.4 มาเป็น PHP Version 5.2.5 บน DirectAdmin

เลยมาเขียน Blog ใว้เตือนความจำสักหน่อยแล้ว ไม่ได้เขียนมานานแล้ว

Step 1

cd /usr/local/directadmin/customapache

wget http://files.directadmin.com/services/customapache/php-5.2.5.tar.gz

Step 2 อันนีสำหรับ Apache2.x นะครับ

nano build

./build clean
./build php_ap2 n

ถ้าตอน build แล้วเกิด Error แบบนี้
configure: error: xml2-config not found. Please check your libxml2

ก็ให้ติดตั้ง Package เพิ่ม

yum -y install libxml2-devel libxslt-devel

จากนั้นก็ สั่ง build อีกที

Step 3

nano /etc/httpd/conf/httpd.conf

แก้ไขบรรทัดนี้ครับ

LoadModule php4_module modules/libphp4.so

เปลี่ยนเป็น

LoadModule php5_module modules/libphp5.so

Step 4

เพิ่ม .php 5 เข้าไปด้วย

DirectoryIndex index.html index.htm index.shtml index.php index.php4 index.php5

Step 5

จากนั้นก็สั่ง Restart Apache

service httpd restart

php -v

จบขั้นตอนการ upgrade ครับ

ต้นร่มเกล้า

Apr
15

PHP IDE NuSphere support CakePHP Framework

Posted by Mr. Suriya

วันนี้ทาง NuSphere ได้ส่ง Email แจ้งเกี่ยวกับเรื่องของการ Support CakePHP มาก็เลยตาม Link ไปดู
ขอบอกว่าแจ่มมากๆ เพราะตัวผมเองนั้นก็ใช้ IDE ของ NuSphere เนี่ยแหละในการพัฒนาโปรแกรมบน CakePHP Framework
สำหรับใครที่ยังหา IDE สักตัวที่เหมาะกับตัวเองนั้น ผมแนะนำ NuSphere เลยครับ เพราะจากที่ผมเคยเจอปัญหา
เรื่องของการมองไม่เห็น Class ที่ extends มาแล้วมองไม่เห็น Function ของ Class ตัวอื่นที่ใช้งานเพราะว่า CakePHP
ไม่ได้ใช้รูปแบบ include แบบทั่วไป IDE เลยมองไม่เห็น Class ที่ใช้งานทำให้ทำงานช้าไปนิดหน่อยเพราะต้องมาอ่าน Manual เอา

แต่ตอนนี้หมดปัญหานั้นแล้วครับ ขอบคุณทาง NuSphere มากๆเลยช่วยให้ชีวิตง่ายขึ้นเยอะเลย แถมยังสามารถ Debug ได้อีก
อะไรจะดีขนาดนั้น เพราะจะไม่ได้ต้องมาสั่ง echo หรือ Print ค่าออกมาดูผ่านหน้า View ใช้ debug ของ Nusphere เนี่ยแหละ
แล้วอะไรๆ จะง่ายขึ้นครับ

ใครสนใจว่าทำอย่างไรนั้นเข้าไปดูตาม Link นี้ได้เลยครับ
http://www.nusphere.com/php/cakephp.htm

Feb
07

How to set encode TIS-620 Flash and XML

Posted by Mr. Suriya

ปัญหาเรื่องของ Flash?? โหลด XML มาแล้วไม่สามารถแสดงเป็นภาษาไทยได้
ทั้งที่ในเนื้อ XML เราก็ประกาศให้เป็น TIS-620 แล้ว สามารถแก้ไขได้โดย การ SET
ให้ Flash นั้นใช้ encode จาก file XML เพราะถ้าไม่ set ให้ flash ค่าปกติมันจะเป็น UTF-8

เราสามารถแก่้้ปัญหานี้ได้โดย การ Set system ให้กับ Flash ใว้บนบรรทัดบนสุด

#ActionScript

System.useCodepage = true;

Feb
04

Set Style Sheet by Javascript

Posted by Mr. Suriya

มีหลายครั้งที่จำเป็นต้องใช้ Javascript ในการ Set Style Sheet ให้กับ TAG ต่างๆใน HTML
บางทีก็หลงๆลืมไปเลยมาเขียนเตือนความจำในการใช้ javascript set attributes ให้กับ TAG ครับ

ตัวอย่าง :
หากเราต้องการจะเปลี่ยน Background imageให้กับปุ่ม Submit สามารถ set attributes ได้ดังนี้ครับ

<input type=”submit” id=”submit” onmouseover=”this.style.backgroundImage=’url(/path/to/image.jpg)’; ” />

ตามตัวอย่างนั้นจะเป็นการกำหนดให้เปลี่ยนรูป Background ให้กับปุ่ม Submit เมื่อมีการนำเม้ามา RollOver ครับ
ซึ่งบ่อยครั้งครับที่จะสับสนเรื่องของชื่อ attributes ของ Style บ่อยๆเพราะถ้าเขียนใน Style ก็จะเป็น background-imge:url();

Read the rest of this entry »

Jan
28

Problem Flash caching and XML caching

Posted by Mr. Suriya

คิดว่าหลายๆคนที่พัฒนางานบนเว็บด้วย Flash นั้น
คงจะเคยเจอปัญหาเรื่องการ cache ของ Flash นะครับ
วันนี้ผมก็จะนำประสพการณ์ในการแก้ปัญหาของการ Cache ของ Flash มานำเสนอครับโดยที่ไม่ต้องไปคอยลบ
File ใน Internet Temporary บ่อยๆ

Read the rest of this entry »

Jan
27

CakePHP : Create New Controller

Posted by Mr. Suriya

สวัสดีครับ
วันนี้จะนำเสนอ กฎ ในการสร้าง Controller ของ CakePHP Framework
สำหรับ เพื่อนๆที่พึ่งจะเริ่มเรียนรู้กับ CakePHP นั้นผมมั่นใจว่าจะต้องเคยพบกับปัญหา
ในการทำความเข้าใจกับ กฎ ต่างๆของ CakePHP ผมก็เลยเขียนบทความนี้ขึ้นใว้เพื่อให้
เพื่อนๆได้ทำความเข้าใจกับ หลักในการสร้างตั้งแต่ Controller เลยก็แล้วกัน ในตอนต่อไปจะแนะนำ View และ Model ให้ครับ
Read the rest of this entry »

Jan
25

CakePHP hasMany

Posted by Mr. Suriya

สวัสดีครับ วันนี้ผมจะแนะนำเรื่องของการใช้ Models ของ CakePHP ในการเชื่อมโยง (Relationship)
หรือการใช้ Foreign Key (FK) ในการดึงข้อมูลของอีก ตางรางหนึ่งที่มีการเชื่อมโยงกันนะครับ

การเชื่อมโยงตารางทั้งสองนั้นจะต้องมีการทำหนด foreign key ให้กับตารางที่เราต้องการจะเชื่อมด้วยนะครับ
อันบทความนี้ผมจะขอ ยกตัวอย่าง การทำ Webboard นะครับ

Read the rest of this entry »