register_globals in drupal

เมื่อติดตั้ง drupal แล้วเจอปัญหาว่า

Requirements problem
The following error must be resolved before you can continue the installation process:
register_globals is enabled. Drupal requires this configuration directive to be disabled. Your site may not be secure when register_globals is enabled. The PHP manual has instructions for how to change configuration settings. (Currently using PHP register globals Enabled (‘1’))

แก้ได้ด้วยตัวเองโดยไม่ต้องบอกให้ system admin แก้ไขระบบ ด้วยการ

สร้าง php.ini ไว้ที่ root document โดยมีข้อมูลข้างใน คือ

 
[PHP]
register_globals = Off

ref :
http://drupal.org/node/216882

drupal 6 with memcached

ติดตั้ง memcached

# aptitude install memcachedb php5-memcached

โหลด module มาลงที่ sites/all/modules/

http://drupal.org/project/memcache

แก้ไข php.ini

memcache.hash_strategy="consistent"

แก้ไข settings.php

$conf = array(
    'cache_inc' => './sites/all/modules/memcache/memcache.db.inc',
        'memcache_servers' => array(
            'localhost:11211' => 'default',
        ),
        'memcache_bins' => array(
            'cache' => 'default',
        ),
);

จบ

502 Bad Gateway

เรื่องราวมันเริ่มมาจาก Drupal ครับ
มีงานที่ต้องพัฒนาระบบ ซื้อ-ขาย บน Drupal มี shopping cart บลาๆๆ

จวบจนมันใกล้เสร็จละ tester ได้รายงานว่า
‘ถ้าคลิกซื้อไปเรื่อยๆ จนถึงจุดหนึ่ง มันจะ 502 Bad Gateway’

เราก็เลยมาหาสาเหตุกัน
เริ่มจาก Nginx ก่อนเลยครับ ผมไปดู log
/var/log/nginx/shop.xxx.com.error.log

อ่า~ เจอตัวการแล้ว คิดว่านะแก้ได้ ด้วยการเพิ่ม size ของอะไรสักอย่าง
ก็เลยใส่ parameter ลงไปใน Nginx

proxy_buffer_size   128k;
proxy_buffers   4 256k;
proxy_busy_buffers_size   256k;

หลังจาก restart Nginx เสร็จแล้วก็ลองทดสอบอีกครั้ง ก็ยังขึ้น 502 Bad Gateway เหมือนเดิม
ก็เลยมีความสงสัยว่า header size มันคืออะไร …

http://net.tutsplus.com/tutorials/other/http-headers-for-dummies/

ยาวเลยครับ… ซึ่งไม่ใช่ทางแก้ครับ ;_;
ก็เลยมานั่งคิดว่า ‘ทำไมกดซื้อสินค้าไปเรื่อยๆแล้วขึ้น 502’

cookie แหงๆ

เปิด Inspect Element ใน Google Chrome แล้วนั่งดูตัวเลข cookie กันเลยครับ

chrome inspect resources

chrome inspect resources

ก็เจอตัวการครับนั่นคือ พอเรากดซื้อสินค้าไปเรื่อยๆ cookie ก็จะโตขึ้นเรื่อยๆ จนเกือบๆ 4000 พอกดซื้ออีกครั้ง ก็บู้มมมมม กลายเป็นโกโก้ครั้น

จึงได้ความรู้มาอีกอย่างว่า

Internet Explorer 8 allowed cookies up to 4095 bytes
Chrome 9 allowed cookies up to 4096 bytes
Opera 11 allowed cookies up to 4096 bytes
Safari 5 allowed coookies up to 4097 bytes
Firefox 3.6.3 allowed cookies up to 4097 bytes

http://stackoverflow.com/questions/2543851/chrome-cookie-size-limit

drupal 6 smtp module

โหลด module มาจาก

http://drupal.org/project/smtp

enable module

drupal6-SMTP-authentication

ใส่ค่า smtp

drupal6 smtp module

drupal6 smtp module

โหลด PHPmailer

https://code.google.com/a/apache-extras.org/p/phpmailer/downloads/list

แตกไฟล์เสร็จแล้ว เปลี่ยนชื่อ directory เป็น phpmailer เอาไปวางไว้ที่
sites/all/modules/
sites/all/libraries/

ถ้าเจอ error

drupal6-SMTP-error

ให้ติดตั้ง phpmailer

# aptitude install libphp-phpmailer