Maison  >  Article  >  cadre php  >  Comment installer swoole (partage complet d'enregistrements)

Comment installer swoole (partage complet d'enregistrements)

藏色散人
藏色散人avant
2022-01-30 05:00:314083parcourir

Aujourd'hui, la rubrique swoole partagera avec vous le dossier complet de l'installation de swoole. Les amis dans le besoin peuvent y jeter un œil et le comprendre. Si vous avez des questions, veuillez laisser un message pour en discuter.

Le PHP PPA d'Ondřej Surý fournit la version PHP7.2 pour Ubuntu 16.04/14.04. PHP installé à partir de la source du logiciel s'exécute par défaut dans l'état Unix Socket dans /run/php/php7.2. - fpm.sock, a de meilleures performances que l'utilisation de TCP sur localhost:9000.

1. Installez l'outil d'extension de source logicielle :

apt -y install software-properties-common apt-transport-https lsb-release ca-certificates

2 Ajoutez la source PHP PPA et mettez à jour le cache

add-apt-repository ppa. :ondrej/php & apt update

3. Installez php7.2 et les extensions de base associées

apt install php7.2-fpm php7.2-mysql php7.2-curl php7.2-gd php7.2-mbstring php7. 2-xml php7.2-xmlrpc php7.2-zip php7.2-opcache php7.2-dev -y

4 Vérifiez les sources PPA actuelles pour une installation directe

apt-cache search php7.2
php-radis. - Bibliothèque client Radis pour PHP
php-http - Module HTTP PECL pour PHP Extended HTTP Support
php-uploadprogress - Extension de suivi de la progression du téléchargement de fichiers pour PHP
php-yaml - Analyseur et émetteur YAML-1.1 pour PHP
php -mongodb - MongoDB pilote pour PHP
php-apcu - Cache utilisateur APC pour PHP
php-imagick - Fournit un wrapper à la bibliothèque ImageMagick
php-ssh2 - Liaisons pour la bibliothèque libssh2
php-redis - Extension PHP pour l'interface avec Redis
php-memcached - module d'extension memcached pour PHP, utilise libmemcached
php-apcu-bc - Module de compatibilité ascendante APCu
php-rrd - Liaisons PHP au système d'outils rrd
php-uuid - Extension PHP UUID
php-memcache - module d'extension memcache pour PHP
php-zmq - Liaisons de messagerie ZeroMQ pour PHP
php-igbinary - Sérialiseur PHP igbinary
php-msgpack - Extension PHP pour l'interface avec MessagePack
php-geoip - Module GeoIP pour PHP
php-tideways - Extension du profileur PHP Tideways
php-yac - YAC (Yet Another Cache) pour PHP
php-mailparse - Manipulation des messages électroniques pour PHP
php-oauth - Extension consommateur et fournisseur OAuth 1.0
php-gnupg - Wrapper PHP autour de la bibliothèque gpgme
php-propro - module propro pour PHP
php-raphf - module raphf pour PHP
php-solr - Extension PHP pour communiquer avec le serveur Apache Solr
php-stomp - Module client Streaming Text Oriented Messaging Protocol (STOMP) pour PHP
php-gearman - Wrapper PHP pour libgearman
php -phalcon - framework PHP full-stack livré sous forme d'extension C
php-ds - Extension PHP fournissant des structures de données efficaces pour PHP 7
php-sass - Liaisons PHP à libsass - Analyse Sass rapide et native en PHP
php-lua - Interpréteur Lua intégré PHP
libapache2-mod-php7.2 - langage de script HTML intégré côté serveur (module Apache 2)
libphp7.2-embed - Langage de script HTML intégré (bibliothèque SAPI intégrée)
php7 .2-bcmath - Module Bcmath pour PHP
php7.2-bz2 - Module bzip2 pour PHP
php7.2-cgi - langage de script côté serveur intégré au HTML (binaire CGI)
php7.2-cli - interpréteur de ligne de commande pour PHP langage de script
php7.2-common - documentation, exemples et module commun pour PHP
php7.2-curl - Module CURL pour PHP
php7.2-dba - Module DBA pour PHP
php7.2-dev - Fichiers pour PHP7. Développement de 2 modules
php7.2-enchant - Module Enchant pour PHP
php7.2-fpm - langage de script côté serveur, intégré au HTML (binaire FPM-CGI)
php7.2-gd - module GD pour PHP
php7. 2-gmp - Module GMP pour PHP
php7.2-imap - Module IMAP pour PHP
php7.2-interbase - Module Interbase pour PHP
php7.2-intl - Module d'internationalisation pour PHP
php7.2- json - Module JSON pour PHP
php7.2-ldap - Module LDAP pour PHP
php7.2-mbstring - Module MBSTRING pour PHP
php7.2-mysql - Module MySQL pour PHP
php7.2-odbc - Module ODBC pour PHP
php7.2 -opcache - Module Zend OpCache pour PHP
php7.2-pgsql - Module PostgreSQL pour PHP
php7.2-phpdbg - langage de script côté serveur, intégré au HTML (binaire PHPPDBG)
php7.2-pspell - module pspell pour PHP
php7.2-readline - module readline pour PHP
php7.2-recode - module de recodage pour PHP
php7.2-snmp - module SNMP pour PHP
php7.2-soap - module SOAP pour PHP
php7 .2-sqlite3 - Module SQLite3 pour PHP
php7.2-sybase - Module Sybase pour PHP
php7.2-tidy - Module Tidy pour PHP
php7.2-xml - Module DOM, SimpleXML, WDDX, XML et XSL pour PHP
php7. 2-xmlrpc - Module XMLRPC-EPI pour PHP
php7.2-zip - Module Zip pour PHP
php7.2-xsl - Module XSL pour PHP (factice)
php7.2 - langage de script intégré HTML côté serveur ( métapackage)
php7.2-sodium - module libsodium pour PHP

5. Choisissez d'installer l'extension redis igbinary pear

php7后每个扩展都是一个独立的ini文件
本次安装的php扩展都在/etc/php/7.2/mods-available下
apt install php-redis php-igbinary php-pear
ls /etc/php/7.2/ mods- disponible
calendrier.ini fileinfo.ini igbinary.ini opcache.ini readline.ini
sysvmsg.ini xml.ini zip.ini ctype.ini ftp.ini
json.ini pdo.ini redis.ini
sysvsem.ini xmlreader .ini
 curl.ini      gd.ini        mbstring.ini  pdo_mysql.ini  shmop.ini      
 sysvshm.ini    xmlrpc.ini
 dom.ini       gettext.ini   mysqli.ini    phar.ini       simplexml.ini  
 tokenizer.ini  xmlwriter.ini
 exif.ini      iconv.ini     mysqlnd.ini   posix.ini      sockets.ini    
 wddx.ini       xsl.ini

6、安装nghttp2库

apt install nghttp2 libnghttp2-dev

7、安装redis官方异步拓展hiredis,如报错需要增加系统gcc支持

git clone https://github.com/redis/hire...
 cd hiredis
make -j
 如果报错 尝试安装gcc
 apt install gcc
 重新编译
 make -j
 make install
 ldconfig

8、swoole拓展编译安装,不推荐使用pecl install swoole

pecl的安装方式没有编译http2与hiredis支持
gcc-4.4 或更高版本
make
autoconf
pcre (centos系统可以执行命令:yum install pcre-devel)
git clone https://gitee.com/swoole/swoo...
 cd swoole
 phpize
 ./configure  --enable-http2 --enable-async-redis
 make && make install

9、添加swoole扩展到php环境中

echo 'extension=swoole.so' >> /etc/php/7.2/mods-available/swoole.ini
cd /etc/php/7.2/cli/conf.d/ && ln -s ../../mods-available/swoole.ini 20-swoole.ini
cd /etc/php/7.2/fpm/conf.d/ && ln -s ../../mods-available/swoole.ini 20-swoole.ini

10、查看是否引用成功

php --ri swoole
swoole support => enabled
Version => 2.1.2-alpha
Author => tianfeng.han[email: mikan.tenny@gmail.com]
coroutine => enabled
epoll => enabled
eventfd => enabled
timerfd => enabled
signalfd => enabled
cpu affinity => enabled
spinlock => enabled
rwlock => enabled
async redis client => enabled
async http/websocket client => enabled
openssl => enabled
http2 => enabled
Linux Native AIO => enabled
pcre => enabled
mutex_timedlock => enabled
pthread_barrier => enabled
futex => enabled

Directive => Local Value => Master Value
swoole.aio_thread_num => 2 => 2
swoole.display_errors => On => On
swoole.use_namespace => On => On
swoole.use_shortname => On => On
swoole.fast_serialize => Off => Off
swoole.unixsock_buffer_size => 8388608 => 8388608

至此完整全部完成

更多swoole技术文章,请访问swoole教程栏目!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer