
Perpustakaan jaringan berkinerja tinggi yang sepenuhnya asinkron yang efisien, stabil, aman dan mudah digunakan, dan verifikasi real-time online disediakan melalui ekstensi PHP.
Mengikuti protokol Apache, ini didasarkan pada rekonstruksi cabang dan pengembangan Swoole Versi 1.8.5.
Saya ingin mengucapkan terima kasih khusus kepada tim pengembangan swoole atas upaya dan keringat mereka untuk komunitas open source PHP.
Apa yang dilakukan Zan
- Decoupling dan pemisahan sejumlah besar modul
- Perbaiki sejumlah besar bug dan cacat logika (bocor memori, melepaskan logika)
- Kumpulan koneksi universal bawaan
- Dukungan Algoritma Putaran Waktu
- Antarmuka asinkron mendukung batas waktu
- Tingkatkan keamanan klien MySQL (preprocessing, transaksi)
- Dukungan Protokol Nova (Protokol RPC)
- Mendukung restart yang halus
- Cakupan uji unit antarmuka 100%
- Dokumentasi API yang real-time dan komprehensif
- ...
Langkah Kompilasi dan Instalasi
Cabang Master telah membuat perubahan besar dan masih dalam tahap pengujian internal.
git clone https://github.com/youzan/zan.git
cd zan-extension
phpize
./configure
make
make install
Disarankan untuk menginstal item konfigurasi
phpize
./configure --enable-openssl
make
make install
Kompilasi dan Instalasi Zan FAQ
- Gunakan klien async-redis dan ekstensi soket ketergantungan untuk dibuka secara default, dan gunakan fungsi SSL untuk tidak dibuka secara default.
- Jika Anda tidak ingin menggunakan klien Async-Redis, Anda dapat menggunakan opsi
--disable-async-redis untuk dimatikan saat mengkonfigurasi. - Menggunakan klien Async-Redis mengharuskan perpustakaan Hiredis untuk diinstal. Jika Anda perlu mendukung platform perangkat keras seperti ARM, Anda perlu menginstal pustaka Hiredis terlebih dahulu, dan kemudian menambahkan
PHP_ADD_LIBRARY(hiredis, 1, ZAN_SHARED_LIBADD) ke file config.m4 untuk mengkompilasi ke dalam ekstensi zan. - Jika Anda ingin menggunakan fungsi SSL, Anda dapat menggunakan opsi
--enable-openssl untuk mengaktifkannya saat mengkonfigurasi.
- Jika Anda menjalankan PHPIZE untuk melaporkan XXX/SED: Tidak ada file seperti itu, silakan instal ulang PHP atau COPY/USR/BIN/SED ke direktori XXX.
- Jika Anda menjalankan PHPIZE untuk melaporkan tidak dapat menemukan AutoConf, silakan instal alat AutoConf terlebih dahulu.
- Jika kesalahan libcurl tidak diinstal saat mengeksekusi konfigurasi, harap pasang kembali pustaka Curl dan pastikan bahwa nama dan jalur perpustakaan dan file header sudah benar.
- Jika nama perpustakaan dan path /usr/lib/libcurl.so (biasanya libxxx.so.xxx dengan nomor versi akan terhubung dengan lembut ke libxxx.so untuk identifikasi tautan), jalur file header yang sesuai adalah/usr/incert/curl.
- Setelah mengonfirmasi bahwa pustaka CURL diinstal dengan benar, pastikan untuk mengulang && mengkonfigurasi untuk memastikan bahwa konfigurasi baru berlaku.
- Jika kesalahan masih dilaporkan setelah menekan 1) dan 2) operasi, Anda dapat memodifikasi jalur konfigurasi php_curl di config.m4 untuk menginstal curl untuk Anda.
- Jika Anda melaporkan kesalahan saat mengeksekusi Konfigurasi Dukungan Aktifkan Soket, ekstensi soket yang diinstal secara tidak benar, harap konfirmasi bahwa versi PHP dan ekstensi soket diinstal dengan benar.
- Versi PHP harus versi 5.6 atau lebih.
- File header ext/sockets/php_sockets.h harus dimasukkan dalam jalur sertakan php.
- Ekstensi soket dimuat sebelum zan (urutan pemuatan yang diperkenalkan di php.ini) untuk memastikan bahwa informasi tabel simbol dapat dirujuk.
- Jika Anda melaporkan kesalahan saat menjalankan konfigurasi Enable OpenSSL Support, memerlukan pustaka OpenSSL, silakan instal ulang perpustakaan OpenSSL dan pastikan bahwa tautannya benar.
- Pasang kembali Perpustakaan OpenSSL.
- Tambahkan jalur pustaka OpenSSL untuk linker untuk menemukan lib, seperti suplemen
-L/usr/local/opt/openssl/lib ke ldflags di config.m4. - Tambahkan pustaka OpenSSL untuk bergantung pada jalur file header, seperti menambahkan
-I/usr/local/opt/openssl/include termasuk ke cppflags di config.m4. - Konfigurasi ulang masih diperlukan, dan pasang sesuai dengan langkah -langkah ekstensi kompilasi, lihat di atas.
Saluran komunikasi resmi
Situs web resmi: Klik saya untuk masuk
Zan's Document Warehouse Address: Zan-Doc
Lihat dokumen online: http://zandoc.zanphp.io ✈
QQ Group: 115728122
Tautan yang biasa digunakan
- Model Jaringan Asynchronous
- PHP Asynchronous Programming: Mengajari Anda cara mengimplementasikan CO dan KOA langkah demi langkah
- Pemahaman mendalam tentang optimasi opcode PHP
- Alat pemantauan zan-stats
Donasi untuk kami
Saluran donasi
Lisensi
Kerangka kerja Zan bersumber terbuka berdasarkan lisensi apache2.0.