Mục lục
TogglePhiên bản mới nhất: pecl install openswoole-4.11.1
Lưu ý: Hãy đảm bảo rằng bạn đã làm theo hướng dẫn các yêu cầu trước khi cố gắng cài đặt Open Swoole, điều này đảm bảo bạn có một hệ thống mới nhất và tất cả các gói và đầy đủ các thư viện của bên thứ ba được yêu cầu.
Dưới đây là hướng dẫn cài đặt với các nền tảng khác nhau:
Cài đặt qua Open Swoole Docker
docker pull openswoole/swoole
Bạn có thể cài đặt bản phát hành nhị phân Open Swoole thông qua PPA chính thức Open Swoole Ubuntu. Ví dụ: trên Ubuntu hoặc Debian:
apt update apt install -y software-properties-common && add-apt-repository ppa:ondrej/php -y apt install -y software-properties-common && add-apt-repository ppa:openswoole/ppa -y # choose one PHP version: #apt install -y php7.4-openswoole #apt install -y php8.0-openswoole apt install -y php8.1-openswoole
apt update apt install -y software-properties-common && add-apt-repository ppa:openswoole/ppa -y # choose one PHP version: #apt install -y php7.4-openswoole #apt install -y php8.0-openswoole apt install -y php8.1-openswoole
Bạn có thể cài đặt bản phát hành nhị phân Open Swoole thông qua kho lưu trữ RPM của Remi.
Install Epel and Remi Repo in RHEL:
# On RHEL/CentOS 8 yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm yum update yum --enablerepo=remi install package #On RHEL/CentOS 7 yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum update yum --enablerepo=remi install package
Install Remi Repo in Fedora:
dnf install http://rpms.remirepo.net/fedora/remi-release-35.rpm #[On Fedora 34] dnf install http://rpms.remirepo.net/fedora/remi-release-34.rpm #[On Fedora 34] dnf install http://rpms.remirepo.net/fedora/remi-release-33.rpm #[On Fedora 33] dnf install http://rpms.remirepo.net/fedora/remi-release-32.rpm #[On Fedora 32] yum --enablerepo=remi install package
# choose one PHP version: #yum install php74-php-openswoole #yum install php80-php-openswoole yum install php81-php-openswoole
Open Swoole được phát hành dưới dạng gói PECL và có thể được cài đặt bằng dòng lệnh từ mã nhị phân. Đây là cách dễ nhất và nhanh nhất để làm việc với Open Swoole.
#!/bin/bash # Make sure PECL is available... $ sudo apt install php-dev # Latest release of Open Swoole via PECL $ sudo pecl install openswoole
Hoặc để cài đặt một phiên bản cụ thể bằng PECL:
#!/bin/bash $ sudo pecl install openswoole-4.9.1
Bạn nên sử dụng Ubuntu trên WSL để sử dụng Open Swoole trên Windows.
Bạn phải chạy Windows 10 phiên bản 2004 trở lên (Bản dựng 19041 trở lên) hoặc Windows 11.
wsl --install
apt update apt install -y software-properties-common && add-apt-repository ppa:ondrej/php -y apt install -y software-properties-common && add-apt-repository ppa:openswoole/ppa -y # choose one PHP version: #apt install -y php7.4-openswoole #apt install -y php8.0-openswoole apt install -y php8.1-openswoole
Khi cài đặt Open Swoole qua PECL, trong quá trình cài đặt, nó sẽ hỏi bạn có muốn bật một số tính năng nhất định hay không, điều này có thể được cung cấp trước khi chạy cài đặt, điều này giúp tự động hóa quá trình cài đặt Swoole hoặc khi bạn không muốn cài đặt. để dừng và chờ đầu vào. Một số tùy chọn yêu cầu cài đặt thư viện của bên thứ ba, hãy xem điều kiện cần có.
#!/bin/bash
$ pecl install -D 'enable-sockets="no" enable-openssl="yes" enable-http2="yes" enable-mysqlnd="yes" enable-swoole-json="no" enable-swoole-curl="yes" enable-cares="yes" with-postgres="yes"' openswoole
#!/bin/bash $ pecl install --configureoptions 'enable-sockets="no" enable-openssl="yes" enable-http2="yes" enable-mysqlnd="yes" enable-swoole-json="no" enable-swoole-curl="yes" enable-cares="yes" with-postgres="yes"' openswoole
Lưu ý: Các bản phát hành Open Swoole PECL muộn hơn các bản phát hành GitHub.
#!/bin/bash
# If you haven't got PHP installed
$ brew install php
$ pecl install openswoole
sudo port install php-openswoole
Đảm bảo rằng bạn đã hoàn thành các điều kiện cần có trước khi biên dịch Swoole.
Để biên dịch và cài đặt tiện ích mở rộng Swoole cho PHP, chúng tôi có thể sao chép kho lưu trữ từ GitHub nơi Swoole được phát triển, kiểm tra phiên bản bạn muốn biên dịch và cài đặt thủ công.
Tải xuống gói nguồn từ Bản phát hành GitHub hoặc sao chép từ kho lưu trữ git.
#!/bin/bash
# Install git to access the source code from GitHub
$ sudo apt install git
$ cd /tmp && git clone https://github.com/openswoole/swoole-src.git && \
cd swoole-src && \
git checkout v4.9.1 && \
phpize && \
./configure --enable-openssl \
--enable-mysqlnd \
--enable-sockets \
--enable-http2 \
--enable-swoole-curl \
--enable-swoole-json \
--with-postgres \
--enable-cares && \
sudo make && sudo make install
Tập lệnh trên sẽ sao chép Open Swoole từ GitHub, kiểm tra v4.6.7 và thiết lập Open Swoole sẵn sàng để biên dịch bằng phpize. Sau đó, chúng tôi sử dụng ./configure để xây dựng Open Swoole với các tùy chọn mà chúng tôi muốn kích hoạt, mọi thứ sau đó được biên dịch bằng cách sử dụng make và thực hiện cài đặt. Bạn có thể chọn tùy chọn cấu hình nào bạn cần, xem thông số cấu hình để biết thêm thông tin.
Bạn có thể cần chạy thực hiện cài đặt với các đặc quyền sudo.
Sau khi cài đặt tiện ích mở rộng Swoole vào thư mục tiện ích mở rộng PHP, bạn sẽ cần bật Open Swoole để PHP có thể tải tiện ích mở rộng khi thực thi mã.
Trên hầu hết các hệ thống, Open Swoole có thể được bật bằng cách chỉnh sửa trực tiếp tệp cấu hình php.ini của bạn, bạn sẽ muốn thêm extension = openswoole vào cuối tệp và sau đó Open Swoole sẽ được bật.
#!/bin/bash # Check the loaded CLI php.ini config file location $ php -i | grep php.ini # Add the openswoole.so extension to the end of your loaded cli php.ini $ sudo bash -c "echo 'extension=openswoole' >> $(php -i | grep /.+/php.ini -oE)" # Manually set the path of your php.ini file $ sudo bash -c 'echo "extension=openswoole" >> /etc/php/7.4/cli/php.ini' # Check if the Swoole extension has been enabled $ php -m | grep openswoole
Enabling Open Swoole via phpenmod
Một số bản phân phối Linux như Debian hoặc Ubuntu sử dụng các mod PHP có sẵn để tải các phần mở rộng PHP, trong trường hợp này bạn có thể sử dụng phpenmod để kích hoạt Swoole. Làm theo các lệnh bên dưới để bật Swoole.
Đảm bảo thay đổi <PHP_VERSION> thành phiên bản PHP mà bạn đã cài đặt
#!/bin/bash # Create a Swoole extension PHP ini file, letting PHP know which modules to load $ sudo bash -c "cat > /etc/php/<PHP_VERSION>/mods-available/openswoole.ini << EOF ; Configuration for Open Swoole ; priority=30 extension=openswoole EOF" # Enable the Open Swoole extension only on CLI mode $ sudo phpenmod -s cli openswoole # Optional: Enable Open Swoole for specific version of PHP CLI $ sudo phpenmod -s cli -v 7.4 openswoole # Check if the Open Swoole extension has been enabled $ php -m | grep openswoole
Bạn cũng có thể tắt Open Swoole bằng phpdismod nếu cần (đây không phải là gỡ cài đặt, chỉ cần tắt Swoole):
#!/bin/bash # Turn off Open Swoole for CLI or a specific PHP install sudo phpdismod -s cli openswoole sudo phpdismod -s cli -v 7.4 openswoole
Các tùy chọn cấu hình này được sử dụng để bật một số tính năng với Open Swoole, bạn có thể sử dụng các tùy chọn này khi cài đặt qua PECL hoặc biên dịch từ nguồn.
Bật hỗ trợ OpenSSL. Nó phụ thuộc vào thư viện libssl.so được cung cấp bởi hệ điều hành của bạn.
Đặt đường dẫn của thư viện OpenSSL mà bạn muốn sử dụng, ví dụ: – with-openssl-dir = / opt / openssl /.
Bật hỗ trợ của HTTP2. Nó phụ thuộc vào thư viện nghttp2 được tích hợp sẵn trong Open Swoole cho bạn. Tuy nhiên, bạn vẫn phải bật tùy chọn này nếu muốn hỗ trợ HTTP2.
Bật hỗ trợ OpenSwoole JSON, điều này cho phép các chức năng OpenSwoole JSON. Bạn cũng phải cài đặt PHP-JSON.
Bật hỗ trợ móc CURL gốc cho các quy trình mở rộng của OpenSwoole. Vì v4.6.0 có hỗ trợ riêng cho CURL, bạn phải cài đặt libcurl4-openssl-dev.
Bật hỗ trợ Postgres Coroutine.
Bật hỗ trợ cho hỗ trợ DNS không đồng bộ, có thể thực hiện được bằng cách biên dịch C-are của thư viện DNS. Theo mặc định, tính năng này bị tắt, nếu C-ares không được bật, các truy vấn DNS không đồng bộ trong OpenSwoole được mô phỏng với một nhóm các quy trình chặn để xử lý.
Khi C-ares được bật trong OpenSwoole, tất cả các truy vấn DNS được tạo bởi Hệ thống API OpenSwoole DNS :: dnsLookup, System :: gethostbyname hoặc OpenSwoole coroutine client là không đồng bộ, bao gồm cả ứng dụng MySQL, Redis Client, HTTP Client, CURL, v.v. Ngoài ra bất kỳ tên DNS nào cũng được giải quyết.
Bạn phải cài đặt libc-ares trước khi bật cờ này:
## Centos
yum install -y libc-ares-devel
## Debian & Ubuntu
apt-get install -y libc-ares-dev
Bật hỗ trợ cho mysqlnd, ví dụ: điều này thêm hỗ trợ cho $ mysql-> Escape (…). Bạn cũng phải cài đặt mô-đun mysqlnd PHP để tùy chọn này hoạt động. Tuy nhiên, bạn nên sử dụng PHP PDO MySQL để thay thế.
Hoặc sử dụng –with-postgres [= DIR] khi bạn đã cài đặt thư viện postgres tại một vị trí tùy chỉnh.
Kích hoạt hỗ trợ cho postgres, điều này bổ sung hỗ trợ cho Coroutine PostgreSQL Client.
Bật hỗ trợ ổ cắm. Nó phụ thuộc vào phần mở rộng PHP sockets. Nếu cấu hình này đã được bật, hàm Swoole \ Event :: add () có thể thêm kết nối được tạo bởi phần mở rộng ổ cắm vào vòng lặp sự kiện của Swoole. Và hàm getSocket () phụ thuộc vào cấu hình này được kích hoạt. Tuy nhiên, dịch vụ Coroutine \ Socket có thể làm được hầu hết mọi việc và có thể được khuyến nghị nhiều hơn.
Bật chế độ gỡ lỗi cho Swoole. Bạn sẽ cần cài đặt gdb để sử dụng tham số này.
Bật nhật ký gỡ lỗi của OpenSwoole. Không bật cấu hình này trong môi trường sản xuất.
Bật nhật ký theo dõi. Sau khi bật tùy chọn này, OpenSwoole sẽ in ra các chi tiết khác nhau của nhật ký gỡ lỗi, nhật ký này chỉ được sử dụng trong quá trình phát triển hạt nhân.
Biên dịch tĩnh OpenSwoole và mở rộng nó sang PHP. Tùy chọn này chỉ được sử dụng khi biên dịch PHP thay vì OpenSwoole.
Khi phiên bản OpenSwoole mới được phát hành, bạn có thể nâng cấp nhưng tùy thuộc vào cách bạn cài đặt OpenSwoole.
Không cần gỡ cài đặt OpenSwoole hoặc xóa bất kỳ tệp nào trước đó, việc nâng cấp sẽ ghi đè lên bất kỳ tệp hoặc tệp nhị phân nào, quá trình cài đặt / nâng cấp chỉ tạo ra một tệp nhị phân openswoole.so cho PHP để sử dụng.
Để biết các thay đổi và cập nhật, hãy xem các bài đăng tại https://openswoole.com/article/
Nếu bạn đã cài đặt qua PECL, bạn chỉ có thể chạy:
#!/bin/bash
$ sudo pecl upgrade openswoole
Hoặc để cài đặt một phiên bản cụ thể bằng PECL:
#!/bin/bash
$ sudo pecl upgrade openswoole-4.5.5
Nếu bạn đã tự biên dịch OpenSwoole từ GitHub, bạn có thể biên dịch lại và cài đặt lại các thay đổi / phiên bản mới.
#!/bin/bash # Enter the directory where you cloned OpenSwoole cd swoole-src # Pull down any new changes or checkout a new tag git pull | git checkout v4.9.1 | git checkout master # Reconfigure the build for PHP again phpize clean && phpize # Configure OpenSwoole features again ./configure --enable-openssl \ --enable-mysqlnd \ --enable-sockets \ --enable-http2 \ --enable-swoole-curl ... # Perform a clean so we can recompile make clean # Build and Compile new version sudo make && sudo make install
Nếu bạn đã cài đặt OpenSwoole qua Open Swoole Ubuntu PPA, bạn sẽ nhận được các bản cập nhật qua trình quản lý gói của mình. Ví dụ: trên Ubuntu hoặc Debian:
#!/bin/bash
sudo apt update
sudo apt upgrade
# Upgrade Open Swoole package only, change to what you have installed
sudo apt update
sudo apt install --only-upgrade php8.1-openswoole
Nếu bạn đang sử dụng phiên bản PHP mới, hãy thực hiện thao tác tìm kiếm apt để cài đặt phiên bản chính xác.
Nếu bạn gặp khó khăn khi cài đặt hoặc nâng cấp Swoole, trước tiên hãy kiểm tra hướng dẫn các điều kiện cần có nhưng nếu điều đó không hữu ích, hãy kiểm tra các lỗi cài đặt phổ biến để được trợ giúp thêm.
Bạn có thể làm theo hướng dẫn về cách gỡ lỗi segment fault errors với Swoole nếu bạn gặp bất kỳ lỗi nào.
#!/bin/bash # Show Swoole installed options and information $ php --ri openswoole ... # Example output from command above... openswoole Open Swoole => enabled Author => Open Swoole Group <[email protected]> Version => 4.9.2-dev Built => Dec 27 2021 22:14:42 coroutine => enabled with boost asm context kqueue => enabled rwlock => enabled sockets => enabled openssl => OpenSSL 3.0.0 7 sep 2021 dtls => enabled http2 => enabled json => enabled curl-native => enabled pcre => enabled c-ares => 1.17.2 zlib => 1.2.11 brotli => E16777225/D16777225 mysqlnd => enabled async_redis => enabled postgresql => enabled Directive => Local Value => Master Value swoole.enable_coroutine => On => On swoole.enable_library => On => On swoole.enable_preemptive_scheduler => Off => Off swoole.display_errors => On => On swoole.use_shortname => On => On swoole.unixsock_buffer_size => 262144 => 262144
Xem thêm bài viết khác:
Các bạn có thể xem chi tiết hơn trên https://openswoole.com/docs/get-started/installation
Hi vọng với bài viết này, bạn có thể cài đặt thành công swoole cho dự án của mình . Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé. Cảm ơn các bạn đã ghé thăm codetutam.com
Bình luận: