Phalcon framework là một thư viện (PHP extension) viết bằng C thay vì PHP. Phalcon cung cấp khá đầy đủ các chức năng, design pattern mới nhất để phát triển ứng dụng web như MVC, ORM, Logging, Transaction, Template, Multi-language. Lập trình php có thể gọi vào API của thư viện Phalcon. Tốc độ phản hồi của Phalcon hiện nay đứng đầu bảng theo benchmark của SystemArchitect

Khả năng đáp ứng requests per second, càng cao càng tốt

Để có tốc độ tối ưu hơn nữa, tôi sẽ cài Phalcon trên web server Nginx thay cho Apache (chạy rất chậm). Để thông dịch PHP trên Nginx tốc độ tốt hơn nữa, chúng ta lại cần có PHP FastCGI Process Manager. MySQL được chọn làm cơ sở dữ liệu. Có một số biến thể của MySQL như Percona, MariaDB nghe đồn cấu hình đúng tốc độ sẽ tốt hơn tuy nhiên tôi vẫn chọn MySQL để đơn giản hoá.

Phalcon là cách chơi chữ PHP kết hợp với falcon (chim Ưng) có tốc độ bay khi săn mồi rất cao

Học lập trình web qua framework Phalcon

Mục đích của lần cài đặt này cũng chỉ làm quen và lập trình chưa cần benchmark vội do đó tôi cài trên máy ảo Ubuntu Server 12.04.2 phiên bản hỗ trợ lâu (long time support) đến tận 2017. Phần mềm chạy máy ảo là vmWare Fusion 5.0.3 chạy trên hệ điều hành MacOSX Mountain Lion 10.8.4 cài dạng Hackintosh trên máy Core i5, RAM 16GB. Riêng đối với máy ảo tôi chỉ dành ra 2078Mb và cho phép chạy tối đa trên 2 lõi (Core of CPU), sẽ có lúc sẽ giảm xuống còn 512Mb đúng theo cấu hình hosting rẻ nhất mà 2 nhà dịch vụ cloud hosting Linode hay DigitalOcean cung cấp.

Các bước lớn
1- Cài đặt Ubuntu Server trên máy ảo.
Tham khảo bài viết này để đặt được IP tĩnh cho máy ảo trong vmWare Fusion.

2- Cài đặt Nginx, MySQLServer, PHP5-FPM
Tham khảo bài hướng dẫn tại Digital Ocean
Hoặc theo hướng dẫn này http://wiki.processmaker.com/index.php/Nginx_and_PHP-FPM_Installation

3- Cài XDebug extension để phục vụ cho việc gỡ rỗi khi lập trình PHP. Lưu ý để lập trình PHP trên remote server cần cài đặt FTP server và SSH server trên máy chủ.
Cấu hình XDebug trên máy chủ và máy trạm lập trình

4- Cài Phalcon extension để biên dịch mã PHP thành C binary lib
Xem hướng dẫn cài đặt tại đây

5- Do thư viện Phalcon liên tục cập nhật nâng cấp version do đó cần cập nhật phiên bản mới.

cd cphalcon
git pull origin

Nếu git repository (git://github.com/phalcon/cphalcon.git) của Phalcon có phiên bản mới, thì lệnh git pull origin sẽ kéo về ngược lại thông báo “Already up-to-date.” sẽ hiện ra.
Biên dịch, cài đặt thư viện Phalcon sau đó khởi động lại dịch vụ php5-fpm

cd cphalcon/build
sudo ./install
sudo service php5-fpm restart

Kết quả cần đạt được là khi mở browser gõ vào địa chỉ máy chủ web Nginx http://xyz.com/phpinfo cần thấy 2 extension là Phalcon version 1.2 và XDebug version 2.1.0 là đã thành công. Hoặc có thể gõ đoạn mã dưới đây vào PHP
echo PhalconVersion::get();

Lưu ý trên Ubuntu thư mục lưu các extension module của PHP là /usr/lib/php5/20090626. Còn ở MountainLion thư mục này là /usr/lib/php/extensions/no-debug-non-zts-20090626 . Bạn có thể dùng lệnh
ls /usr/lib/php5/20090626 để kê ra các extension module được cài đặt thêm như xdebug.so, phalcon.so,mysql.so,…

6- Cài đặt vsFTPd Trường hợp bạn thực sự cài đặt máy chủ trên remote server, bạn nên cài thêm vsFTPd và SSH để dễ dàng truy cập, upload file mã nguồn lên máy chủ.

Khi nào rảnh, tôi sẽ viết bài hướng dẫn lập trình Phalcon, và sau đó là benchmark thử tải framework này. Kỹ thuật lập trình Phalcon cũng sẽ được bổ xung vào chương trình đào tạo lập trình PHP tại Techmaster.