Category: memcached

MiproApps, TechCrunch Review and quick to-dos for your Facebook page

MiproApps got a nice review on TechCrunch today. Orli Yakuel from Go2Web20 has written this comparison based review for 12 services to design your pages with

Miproappsβ€”The newest service around, Miproapps allows users to design a fan page by simply dragging & dropping elements to the center of the page. I found it to be one of the best services I’ve tried so far because it really is very easy to use, and it only took me a few minutes to create an interactive fan page.

A chart on that page will help you to quickly understand how each of these services differ from others. I am sad that MiproApps missed a quick point on “Custom Tab” which actually is there in MiproApps, just the process is not automated. It is possible only by request. All you have to do is open a support ticket and our engineers will take action as soon as they are in office.

We are working on this issue to make this process fully automated.


12 Best services to customize your facebook page

Facebook is changing all their page width to 520 px from 760px, effective from today. So if you haven’t worked on your page, it is your chance to get your hands dirty πŸ™‚

Note: MiproApps is developed using PHP on top of Zend Framework, Memcache and External web services. Right now we are providing a whooping collection of 35 widgets in total, which you can add instantly on your facebook fanpage and they will work from your pages without any problem. The drag-n-drop style designer will make your job even easier πŸ™‚

Supported Widgets (categorized):
1. Static Content category
Static Images, Static Text, Link Builder and Contact-us form
2. Blogs category
Posterous, WordPress, Tumblr and Blogger
3. Status Services category
Tiwtter and Google Buzz
4. Video category
Youtube, Vimeo, UStream, Any external video in flv format
5. Photo sharing category
Flickr and Picasa
6. File sharing category
Box.net
7. Audio category
Last.fm and any externally uploaded mp3 audio
8. Facebook tools category
Comments, LiveStream and Invite-Friends
9. Bookmark services category
Digg, Delicious, Stumbleupon, Reddit and Technorati
10. Miscellaneous category
Paypal Donation, Google Maps, External flash file, RSS feeds, IFrame, Poll, Image Slider (carousel) and SlideShare

Hope you will enjoy MiproApps, a nice application developed using Zend Framework :). MiproApps has been brought to you by my small startup Leevio

Using new PECL Memcached extension for storing session data

Many of you already know that managing session is a critical task for web applications, specially when you want to avoid I/O hop and also a significant load over your database by writing a custom session handler. Beside that, if your application makes use of multiple web servers behind a proxy, then its more than a critical job to share and manage session data among these servers effectively. This is why a central session manager is very important for your application to scale. In this article I am going to show you how you can use the latest Memcached extension (developed by Andrei Zmievski and his team) to isolate the session storage from web servers. I will show you how to compile the extension and use it.

Step1: Install Memcached Server
If you are using Debian its just plain simple
[sourcecode lang=”bash”]
apt-get install memcached
[/sourcecode]

Step 2: Run memcached instances
Lets run two instances of memcached in same machine (well, this article is just for demonstrating you how you can get things done. In the production environment, you can deploy as many memcached instances as you want in different servers in same network)
[sourcecode lang=”bash”]
memcached -d -l 127.0.0.1 -p 11211 -u <username> -m 16
memcached -d -l 127.0.0.1 -p 11212 -u <username> -m 16
[/sourcecode]

Above commands will run two instances of memcached listening on port number 11211 and 11212, same IP 127.0.0.1. Each of them get an allocation of 16 MB of memory (on RAM).

Step 3: Install the PECL Memcached extension.
Lets install the new PECL memcached extension in your web server. This new extension depends on libmemcached. You can grab the latest distribution of libmemcached from https://launchpad.net/libmemcached and compile it in your own machine. Make sure you have the dependencies met.

[sourcecode lang=”bash”]
wget http://launchpad.net/libmemcached/1.0/0.34/+download/libmemcached-0.34.tar.gz
tar -zxvf libmemcached-0.34.tar.gz
cd libmemcached-0.34
./configure
make && make install
[/sourcecode]

Considering everything went fine, lets install the PECL memcached extension
[sourcecode lang=”bash”]
pecl install memcached
[/sourcecode]

If everything goes fine, you should see the output similar like this
[sourcecode]
Build process completed successfully
Installing ‘/usr/lib/php5/20060613/memcached.so’
install ok: channel://pecl.php.net/memcached-1.0.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=memcached.so" to php.ini
[/sourcecode]

Make sure that memcached.so is placed in your PHP extension_dir folder (here /usr/lib/php5/20060613). Add the line “extension=memcached.so” in your php.ini and restart your web server.

To make sure, everything’s done and working – run a phpinfo() and check the output. There should be a “memcached” sesction which will look like the following one.

Memcached PECL Extension
Memcached PECL Extension

Now we need to make change in our php.ini to register Memcached as a session handler and set the necessary properties there. Open your php.ini and add the following two lines. If you find any similar line un-commented, comment them out first.

[sourcecode lang=”php”]
session.save_handler=memcached
session.save_path="127.0.0.1:11211, 127.0.0.1:11212"
[/sourcecode]

Restart your web server. And …… you are done! πŸ™‚ – Now all your session data will be saved and served from these memcached servers. No matter whenever you need to extend your setup by adding extra web servers, all user data and session data will remain valid and served from a central location. No I/O issue, no huge write load on DB servers.