[Directadmin] hướng dẫn cài phalcon PHP từ source
Thịnh Văn Hạnh 10/06/2021 1842 Lượt xem Chia sẻ bài viết
Tóm Tắt Bài Viết
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.