Swoole is an asynchronous, parallel, high-performance network communication engine in PHP, supporting TCP long connections, Websocket, Mqtt and other protocols. It is widely used in the development of mobile apps, mobile game servers, online game servers, chat rooms, hardware communications, smart homes, Internet of Vehicles, Internet of Things and other fields. The following editor introduces the installation process in detail.
It’s been a long time since I’ve updated. It’s not that I’m lazy, it’s that I’m too busy! Finally got a few days of free time.
During this period, I am going to bring you an introductory tutorial on swoole to feel the power of nodeJs in php.
All sample codes are placed on github: learn-swoole
Environment
Apache is not used as the web server here. Use nginx php-fpm, which has more powerful performance and easier configuration. And in order to keep up with the pace of PHP, a relatively new PHP version is also used
[x] centos7
[x] php7.0.12
[x] nginx/1.10.2
[x] php-fpm
Download swoole
First download the source code package of swoole. This operation is very simple and there is not much to say.
wget -c https://github.com/swoole/swoole-src/archive/v2.0.6.tar.gz 解压: tar -zxvf v2.0.6.tar.gz cd swoole-src-2.0.6/
Compilation & Installation
Use phpize to generate php compilation configuration
./configure to do compilation configuration detection
make Compile and make install to install
Command execution:
[root@php7 swoole-src-2.0.6]# phpize [root@php7 swoole-src-2.0.6]# ./configure [root@php7 swoole-src-2.0.6]# make && make install
After make install, if correct, the following content will appear
[root@php7 swoole-src-2.0.6]# make install Installing shared extensions: /usr/lib64/php/modules/
This means that in /usr/lib64/ In the php/modules/ directory, the swoole.so file was successfully generated
Modify the configuration file
To be able to use this module, you also need to add it to the php.ini file this module.
It should be noted here that the module configuration files of php7 are separated separately.
The following content can be found in php.ini
Therefore, if your php is installed, If there is no special setting, you can find the configuration file for adding the module in the /etc/php.d directory. Enter the cd /etc/php.d directory and complete the relevant configuration;;;;
; Note: packaged extension modules are now loaded via the .ini files
; found in the directory /etc/php.d; these are loaded by default.
##;;;;
[root@php7 swoole-src-2.0.6]# vim swoole.ini ; Enable swoole extension module extension=swoole.so
Restart the service
After adding the php module, you need to restart It will take effect only after starting the service. If sometimes it still doesn't work after restarting, please close it first and then restart it.[root@php7 swoole-src-2.0.6]# systemctl restart nginx [root@php7 swoole-src-2.0.6]# systemctl restart php-fpmUse php -m or phpinfo() to check whether swoole is successfully loaded
git clone git@github.com:eaglewu/swoole-ide-helper.git ide-helperSet according to the picture content
git clone git@github.com:helei112g/learn-swoole.gitThe code example demo1-serv provided in this sectionEnter the test code directory,Then use telnet on the server to test
- First, run the server-side listening program
php demo1-serv.phpAfter executing this command, the server will display:
Client: Connect.
- Open another terminal, use telnet to connect to the port that the current server is listening to, and enter some text to observe the changes in the terminal.
[root@php7 ~]# telnet 127.0.0.1 9999Hi!Server: Hi!This is just a simple simulated reply. Whatever the client sends, the server responds. Exit telnet and observe what the server will displayClose the window directly, or:
[root@php7 ~]# Ctrl+] [root@php7 ~]# telnet> quitAt this time, you will see on the service side:
Client: Close.PS: If telnet is not installed in the test environment, please google to install it yourself. Recommended learning:
The above is the detailed content of How to install Swoole in PHP7. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

SublimeText3 Chinese version
Chinese version, very easy to use

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.
