Khuyến mãi
Trang chủ » Hướng dẫn » Server » [Directadmin] hướng dẫn cài phalcon PHP từ source

[Directadmin] hướng dẫn cài phalcon PHP từ source

Giới thiệu Phalcon php

  • Phalcon là một php framework mã nguồn mở, được viết bằng C-extension, được tối ưu hóa về perfommance. Nó có tính độc lập, cho phép bạn sử dụng các thành phần của chúng một cách tùy biến theo ứng dụng mà bạn cần.
  • Phalcon không chỉ riêng ở performance mà nó còn mạnh mẽ, giàu các tính năng và dễ dàng sử dụng.

Hướng dẫn cài đặt Phalcon trên Directadmin

Theo mặc định custombuid directadmin hỗ trợ cài Phalcon nhưng chỉ hỗ trợ phalcon version 4. vì vậy BKNS hướng dẫn quý khách cài Phalcon trên Directadmin theo custombuild và compile từ source cho version thấp.

Hiện tại Phalcon version đang là 4.0.4, extension này chỉ hỗ trợ trên PHP 7+, PHP version thấp không được hỗ trợ

1: Hướng dẫn cài Phalcon từ custombuild directadmin

Để cài đặt trên directadmin quý khách ssh vào server với quyền root sau đó chạy lệnh sau.

Theo mặc định custombuid directadmin hỗ trợ cài Phalcon nhưng chỉ hỗ trợ phalcon version 4

cd /usr/local/directadmin/custombuild/
./build update
./build set_php phalcon yes
./build php_phalcon

2: Hướng dẫn compile từ source (cài phalcon version 3.x)

Trong trường hợp chuyển từ Phalcon 3 lên server chạy Phalcon 4 quý khách có thể gặp lỗi:

Uncaught BadMethodCallException: Wrong number of parameters in public_html/public/index.php:31 Stack trace:

có 2 cách để khắc phục update code theo bản mới, cách làm này mất thời gian, vì vậy BKNS hướng dẫn cài Phalcon version 3 để khắc phục.

Quý khách làm theo hướng dẫn sau

Lấy đường dẫn phpize

[root@vps build]# whereis phpize
phpize: /usr/local/bin/phpize

php-config executable Path

[root@vps build]# whereis php-config
php-config: /usr/local/bin/php-config

Download Phalcon

yum install pcre-devel gcc make git
git clone https://github.com/phalcon/cphalcon
cd cphalcon/build
git checkout origin/3.4.x
./install --phpize /usr/local/bin/phpize --php-config /usr/local/bin/php-config --arch 64bits

Trong cài đặt trên quý khách thay các thông số phpize,php-config theo thông số ở trên, arch version OS,

Sau khi cài đặt xong sẽ có thông báo như ảnh sau.

Thêm extension vào php.ini

quý khách chạy lệnh sau để lấy vị trí config file php (đường dẫn này cho php mặc định trên server trong trường hợp quý khách dùng nhiều version php cần chọn đúng vị trí file)

[root@vps build]# php --ini
Configuration File (php.ini) Path: /usr/local/php73/lib
Loaded Configuration File:         /usr/local/php73/lib/php.ini
Scan for additional .ini files in: /usr/local/php73/lib/php.conf.d
Additional .ini files parsed:      /usr/local/php73/lib/php.conf.d/10-custom.ini,

BKNS tạo thêm file /usr/local/php73/lib/php.conf.d/10-custom.ini để tránh bị ghi đè.

echo "extension=phalcon.so" > /usr/local/php73/lib/php.conf.d/10-custom.ini

Sau khi xong quý khách restart lại webserver.

3. Kiểm tra kết quả

Sau khi restart webserver quý khách kiểm tra Phalcon đã cài đặt theo cách sau:

php -i | grep -i phalcon 

kết quả tra ra:

phalcon
phalcon => enabled
Author => Phalcon Team and contributors
phalcon.db.escape_identifiers => On => On
phalcon.db.force_casting => Off => Off
phalcon.orm.cast_on_hydrate => Off => Off
phalcon.orm.column_renaming => On => On
phalcon.orm.disable_assign_setters => Off => Off
phalcon.orm.enable_implicit_joins => On => On
phalcon.orm.enable_literals => On => On
phalcon.orm.events => On => On
phalcon.orm.exception_on_failed_save => Off => Off
phalcon.orm.ignore_unknown_columns => Off => Off
phalcon.orm.late_state_binding => Off => Off
phalcon.orm.not_null_validations => On => On
phalcon.orm.update_snapshot_on_save => On => On
phalcon.orm.virtual_foreign_keys => On => On

Kiểm tra version Phalcon

php -r "echo Phalcon\Version::get();"    
3.4.5

Theo kết quả trên Phalcon BKNS đang cài là 3.4.5

Chúc các bạn thành công.

Call Back Icon

Xin chào quý khách!

Quý khách đang cần tư vấn dịch vụ, xin vui lòng nhập số điện thoại để chúng tôi gọi lại.

Tổng đài 24/07: 1900 63 68 09

Đăng ký nhanh dịch vụ

Quý khách vui lòng gửi yêu cầu cho BKNS, chúng tôi sẽ liên hệ lại ngay với bạn.