1- Cài đặt PHP
Repo mặc định của CentOS6 chỉ có PHP 5.3.3, phiên bản này có lỗi mem leak với Phalcon. Do đó bạn tham khảo hướng dẫn ở đây để cài PHP 5.5 cho CentOS 6.x
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
yum install php55w php55w-cli php55w-common php55w-devel php55w-fpm php55w-pgsql php55w-pdo php55w-mysql
//kiểm tra lại version PHP
php -v
php-fpm -v
//Khi khởi động Linux, nếu php-fpm không tự động start, thì gõ lệnh sau đây
chkconfig php-fpm on
2- Cấu hình Nginx cho từng web site.
Đối với yêu cầu file tĩnh, Nginx sẽ trả về luôn. Còn đối với yêu cầu một file PHP, Nginx sẽ chuyển cho FastCGI, ở đây là PHP-FPM đang hứng ở 127.0.0.1:9000.
Có thể kiểm tra sẽ PHP-FPM bật chưa bằng lệnh service php-fpm status hoặc lệnh netstat -ntl
Đây là nội dung file /etc/nginx/conf.d/default.conf cấu hình cho web site mặc định của Nginx
server {
listen 192.168.1.66:80; #đổi địa chỉ IP thật
server_name localhost; # đổi thành tên miền cụ thể ví dụ acme.com
location / {
root /usr/share/nginx/html; #thư mục gốc của web site
index index.html index.htm index.php; #thêm index.php vào
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ .php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
3- Cài đặt Phalcon
cd /tmp
git clone http://github.com/phalcon/cphalcon
cd /tmp/cphalcon/build
sudo ./install
//Vào thư mục chưa các PHP extesion (*.so)
cd /usr/lib64/php/modules
//Kiểm tra đã có file phalcon.so chưa
ls phalcon.so
//Sửa file cấu hình php.ii
nano /etc/php.ini
/*thêm vào khai báo extension. Chú ý phalcon.so cần có
json.so do đó khai báo json.so trước*/
extension=json.so
extension=phalcon.so
/*trong thư mục /etc/php.d cũng đã có json.ini để bổ xung thư viện json.so.
Ta có thể xóa file này để không load lại 1 thư viện 2 lần*/
Chú ý: nếu bạn gặp phải lỗi PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib64/php/modules/phalcon.so’ – /usr/lib64/php/modules/phalcon.so: undefined symbol: php_pdo_get_dbh_ce in Unknown on line 0
Cách tôi đã xử lý như sau:
– Thay vì gõ extension=phalcon.so trong file php.ini thì tạo ra file phalcon.ini ở thư mục /etc/php.d rồi bổ sung dòng
extension=phalcon.so vào.
4- Cài đặt Phalcon DevTools
cd /opt //Cài phalcon ở thư mục opt cho phép các tài khoản khác nhau có thể dùng chung
git clone git://github.com/phalcon/phalcon-devtools.git
//Clone hoàn tất sẽ tạo ra thư mục /opt/phalcon-devtools
. /opt/phalcon-devtools/phalcon.sh
/*Nếu thành công ở bất kỳ đường dẫn nào, cũng có thể gõ lệnh phalcon
Kết quả sẽ như sau */
Phalcon DevTools (1.3.0 BETA 1)
Available commands:
commands (alias of: list, enumerate)
controller (alias of: create-controller)
model (alias of: create-model)
all-models (alias of: create-all-models)
project (alias of: create-project)
scaffold
migration
webtools
Bình luận