Phiê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:
Docker
Cài đặt qua Open Swoole Docker
docker pull openswoole/swoole
Linux Systems
Installing via Open Swoole Ubuntu PPA
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:
Install Open Swoole on Ubuntu 20.04 LTS (Focal Fossa)
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
Install Open Swoole on Ubuntu 22.04 LTS (Jammy Jellyfish)
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
Install Open Swoole on CentOS
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 Remin Rpo on RHEL CentOS, Fedora
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
Install Open Swoole on RHEL CentOS, Fedora
# choose one PHP version: #yum install php74-php-openswoole #yum install php80-php-openswoole yum install php81-php-openswoole
Installing via PHP PECL
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
Windows
Install Open Swoole on Windows
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
Install Open Swoole on WSL / WSL2 (Ubuntu)
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
PECL Configuration Options for Open Swoole
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ó.
Shorthand Configure Flag
#!/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
Longhand Configure Flag
#!/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.
MacOS Systems
Install Open Swoole with Brew and PECL
#!/bin/bash
# If you haven't got PHP installed
$ brew install php
$ pecl install openswoole
Install Open Swoole with MacPorts
sudo port install php-openswoole
Building Open Swoole from source
Đả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.
Enable Open Swoole extension in PHP
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ã.
Manually enabling Open Swoole via php.ini
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
Thông số cấu hình
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.
Thông số chung
–enable-openssl
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.
–with-openssl-dir
Đặ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 /.
–enable-http2
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.
–enable-swoole-json
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.
–enable-swoole-curl
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.
–with-postgres
Bật hỗ trợ Postgres Coroutine.
–enable-cares
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
Các thông số bổ sung
–enable-mysqlnd
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ế.
–with-postgres
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.
–enable-sockets
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.
Tham số gỡ lỗi
–enable-debug
Bật chế độ gỡ lỗi cho Swoole. Bạn sẽ cần cài đặt gdb để sử dụng tham số này.
–enable-debug-log
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.
–enable-trace-log
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.
Tham số biên dịch PHP
–enable-swoole
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.
Nâng cấp Open Swoole
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âng cấp bằng PECL
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âng cấp từ nguồn
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âng cấp từ Open Swoole Ubuntu PPA trên Ubuntu HOẶC Windows WSL
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.
Các lỗi cài đặt phổ biến
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.
Segment Fault Errors
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.
Cách kiểm tra thông tin cài đặt / tùy chọn đã bật hiện tại
#!/bin/bash # Show Swoole installed options and information $ php --ri openswoole ... # Example output from command above... openswoole Open Swoole => enabled Author => Open Swoole Group <hello@openswoole.com> 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