Swoole ialah enjin komunikasi rangkaian tak segerak PHP untuk persekitaran pengeluaran Ia menyediakan keupayaan komunikasi rangkaian klien/pelayan biasa bagi Soket TCP/UDP/Unix, serta membaca dan menulis fail tak segerak yang sepadan, MySQL tak segerak dan I/O tak segerak yang lain. Keupayaan operasi membolehkan pembangun PHP menulis aplikasi perkhidmatan rangkaian berprestasi tinggi dan berprestasi tinggi tanpa mempelajari pengetahuan pengaturcaraan C/C++ yang kompleks Mereka hanya perlu menulis kod PHP yang ringkas dan mudah difahami.
Artikel ini akan memperkenalkan pemasangan, penggunaan asas, pembangunan web dan penyelesaian kepada masalah biasa Swoole.
1. Pasang Swoole
Versi PHP yang disokong oleh Swoole ialah PHP5.3 dan ke atas Ia boleh dipasang melalui kompilasi kod sumber atau PECL Langkah terperinci untuk kaedah ini:
Kaedah 1. Susun dan pasang menggunakan kod sumber
Anda boleh memuat turunnya dari Swoole's laman web rasmi ( https://www.swoole.com/) Muat turun pakej kod sumber Swoole terkini.
Jalankan arahan berikut dalam terminal untuk nyahmampat pakej kod sumber:
tar zxvf swoole-src-4.6.7.tar.gz
Laksanakan arahan berikut dalam terminal untuk memasuki direktori yang dinyahmampat, susun dan pasang:
cd swoole-src-4.6.7 phpize ./configure make && make install
Edit fail php.ini dan tambah baris berikut pada penghujung:
extension=swoole.so
Mulakan semula PHP untuk menjadikan konfigurasi berkuat kuasa.
Kaedah 2. Pasang menggunakan PECL
pecl install swoole
Edit fail php.ini dan tambah baris berikut pada penghujung:
extension=swoole.so
Mulakan semula PHP untuk membuat konfigurasi berkuat kuasa.
2. Penggunaan asas
Berikut ialah contoh kod pelayan TCP ringkas:
<?php $serv = new swoole_server("0.0.0.0", 9501); $serv->on('connect', function ($serv, $fd) { echo "Client: Connect.\n"; }); $serv->on('receive', function ($serv, $fd, $from_id, $data) { $serv->send($fd, "Server: " . $data); }); $serv->on('close', function ($serv, $fd) { echo "Client: Close.\n"; }); $serv->start();
Kod di atas mencipta pelayan TCP dan mendengar port 9501. Apabila klien disambungkan, "Klien: Sambungkan adalah output;
Berikut ialah contoh kod untuk klien TCP mudah:
<?php $client = new swoole_client(SWOOLE_SOCK_TCP); if (!$client->connect('127.0.0.1', 9501, -1)) { echo "Error: {$client->errCode}\n"; exit; } $client->send("Hello World!"); echo $client->recv(); $client->close();
Kod di atas mencipta klien TCP dan Sambung ke port 127.0.0.1:9501. Hantar rentetan "Hello World!", tunggu pelayan mengembalikan data, dan akhirnya tutup sambungan.
3. Pembangunan Web
Swoole juga menyokong pembangunan web Anda boleh menggunakan kelas SwooleHttpServer untuk mencipta pelayan web dan menggunakan SwooleHttpRequest dan SwooleHttpResponse untuk mengendalikan permintaan dan respons. . Berikut ialah Contoh mudah:
<?php $http = new Swoole\Http\Server("0.0.0.0", 9501); $http->on('request', function ($request, $response) { $response->header("Content-Type", "text/plain"); $response->end("Hello World\n"); }); $http->start();
Kod di atas mencipta pelayan HTTP dan mendengar pada port 9501. Apabila diminta, rentetan "Hello World" dikembalikan.
4. Penyelesaian kepada masalah biasa
Penyelesaian: Ini kerana tiada libuv library, anda boleh laksanakan arahan berikut untuk memasang:
yum install libuv
Penyelesaian: Perintah phpize tiada, anda boleh melaksanakan arahan berikut Pemasangan:
yum install php-devel
Anda boleh menggunakan arahan berikut untuk menyemak sama ada sambungan Swoole dipasang:
php -m | grep swoole
Jika "Swoole" dikeluarkan, ini bermakna sambungan Swoole telah dipasang.
Anda boleh menggunakan sambungan swoole_http_server yang disediakan oleh Swoole untuk memulakan pelayan web dan mendengar port yang ditentukan, dan kemudian membalikkan proksi Nginx ke port Can.
Di atas adalah pengenalan ringkas kepada Swoole ialah enjin komunikasi rangkaian tak segerak yang sangat berkuasa yang telah digunakan secara meluas dalam bidang konkurensi tinggi di Internet. Saya harap artikel ini akan membantu anda dan membantu anda menguasai lagi penggunaan Swoole.
Atas ialah kandungan terperinci Analisis ringkas tentang cara memasang dan menggunakan swole. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!