ホームページ  >  記事  >  PHPフレームワーク  >  swoole(フルレコード共有)のインストール方法

swoole(フルレコード共有)のインストール方法

藏色散人
藏色散人転載
2022-01-30 05:00:314072ブラウズ

Todayswoole コラムでは、swoole インストールの完全な記録を共有します。困っている友達は見て理解できます。ご質問がある場合は、ディスカッション用にメッセージを残してください。

Ondřej Surý の PHP PPA は、Ubuntu 16.04/14.04 用の PHP7.2 バージョンを提供します。ソフトウェア ソースからインストールされた PHP のデフォルトは Unix です。ソケット ステータスは /run/php/php7.2-fpm.sock で実行され、localhost:9000 で TCP を使用するよりもパフォーマンスが向上します。

1. ソフトウェア ソース拡張ツールをインストールします:

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

2. PHP PPA ソースを追加し、キャッシュを更新します

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

3. php7.2 と基本的な関連拡張機能をインストールします

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. 直接インストールするには現在の PPA ソースを確認してください。

apt-cache search php7.2
php-radis - PHP 用の radis クライアント ライブラリ
php-http - PECL HTTP モジュールPHP 拡張 HTTP サポート
php-uploadprogress - PHP
php-yaml のファイル アップロード進行状況追跡拡張機能 - PHP
php-mongodb の YAML-1.1 パーサーおよびエミッター - PHP
php-apcu の MongoDB ドライバー- PHP 用の APC ユーザー キャッシュ
php-imagick - ImageMagick ライブラリへのラッパーを提供します
php-ssh2 - libssh2 ライブラリのバインディング
php-redis - Redis とインターフェースするための PHP 拡張機能
php- memcached - PHP 用の memcached 拡張モジュール、libmemcached を使用します
php-apcu-bc - APCu 下位互換性モジュール
php-rrd - rrd ツール システムへの PHP バインディング
php-uuid - PHP UUID 拡張
php -memcache - PHP
php-zmq の memcache 拡張モジュール - PHP
php-igbinary - igbinary の ZeroMQ メッセージング バインディング PHP Serializer
php-msgpack - MessagePack とのインターフェイス用の PHP 拡張機能
php -geoip - PHP
php-tideways の GeoIP モジュール - Tideways PHP Profiler Extension
php-yac - PHP
php-mailparse の YAC (Yet Another Cache) - PHP
php-oauth - OAuth の電子メール メッセージ操作1.0 コンシューマおよびプロバイダ拡張機能
php-gnupg - gpgme ライブラリの PHP ラッパー
php-propro - PHP 用の propro モジュール
php-raphf - PHP 用の raphf モジュール
php-solr - の PHP 拡張機能Apache Solr サーバーとの通信
php-stomp - PHP 用ストリーミング テキスト指向メッセージング プロトコル (STOMP) クライアント モジュール
php-gearman - libgearman への PHP ラッパー
php-palcon - として提供されるフルスタック PHP フレームワークC-extension
php-ds - PHP の効率的なデータ構造を提供する PHP 拡張機能 7
php-sass - libsass への PHP バインディング - PHP での高速なネイティブ Sass 解析#php
php-lua - PHP 組み込み lua インタープリター
libapache2-mod-php7.2 - サーバーサイド、HTML 埋め込みスクリプト言語 (Apache 2 モジュール)
libphp7.2-embed - HTML 埋め込みスクリプト言語 (埋め込み SAPI ライブラリ)
php7 .2- bcmath - PHP
php7.2-bz2 の Bcmath モジュール - PHP
php7.2-cgi の bzip2 モジュール - サーバー側の HTML 埋め込みスクリプト言語 (CGI バイナリ)
php7.2 -cli - PHP スクリプト言語のコマンドライン インタープリター
php7.2-common - PHP のドキュメント、例、共通モジュール
php7.2-curl - PHP の CURL モジュール
php7.2-dba - DBA モジュールfor PHP
php7.2-dev - PHP7.2 モジュール開発用ファイル
php7.2-enchant - PHP 用のエンチャント モジュール
php7.2-fpm - サーバー側の HTML 埋め込みスクリプト言語 ( FPM-CGI バイナリ)
php7.2-gd - PHP
php7.2-gmp の GD モジュール - PHP
php7.2 の GMP モジュール-imap - PHP
php7.2 の IMAP モジュール-interbase - PHP
php7.2 の Interbase モジュール - PHP
php7.2 の国際化モジュール - json - PHP
php7 の JSON モジュール -ldap - PHP
php7 の LDAP モジュール.2-mbstring - PHP
php7.2-mysql の MBSTRING モジュール - PHP
php7.2-odbc の MySQL モジュール - PHP
php7.2-opcache の ODBC モジュール - PHP# の Zend OpCache モジュール##php7.2-pgsql - PHP 用 PostgreSQL モジュール
php7.2-phpdbg - サーバー側、HTML 埋め込みスクリプト言語 (PHPDBG バイナリ)
php7.2-pspell - PHP 用 pspell モジュール
php7.2-readline - PHP
のreadlineモジュールphp7.2-recode - PHP
php7.2のrecodeモジュール-snmp - PHP
php7.2のSNMPモジュール-soap - PHP#のSOAPモジュール##php7.2-sqlite3 - PHP
php7.2-sybase の Sybase モジュール PHP
php7.2-tidy - PHP
php7.2-xml の Tidy モジュール - DOM、SimpleXML 、PHP
php7.2-xmlrpc の WDDX、XML、および XSL モジュール - PHP
php7.2-zip の XMLRPC-EPI モジュール - PHP
php7.2-xsl の Zip モジュール - の XSL モジュールPHP (ダミー)
php7.2 - サーバー側、HTML 埋め込みスクリプト言語 (メタパッケージ)
php7.2-sodium - PHP 用の libsodium モジュール

5.redis igbinary pear のインストールを選択しますextension
php7后每个扩展都是一个独立的ini文件
本次安装的php扩展都在/etc/php/7.2/mods-available下

apt install php-redis php-igbinary php-pear

ls /etc/php/7.2/mods-available
Calendar.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教程栏目!

以上がswoole(フルレコード共有)のインストール方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。