Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memasang sambungan benang php pada linux

Bagaimana untuk memasang sambungan benang php pada linux

藏色散人
藏色散人asal
2021-10-26 10:29:452822semak imbas

Cara memasang sambungan benang php pada Linux: 1. Cari fail lnmp.conf dalam direktori pemasangan lnmp 2. Tambah "--enable-maintainer-zts" pada "PHP_Modules_Options"; Boleh.

Bagaimana untuk memasang sambungan benang php pada linux

Persekitaran pengendalian artikel ini: sistem Ubuntu 16.04, PHP versi 7.1, komputer DELL G3

Cara memasang benang php sambungan pada Linux?

Pasang sambungan pthreads untuk PHP di bawah Ubuntu:

pthreads ialah sambungan PHP yang menggunakan multi-threading. Saya tidak akan memperkenalkan terlalu banyak di sini, saya percaya bahawa kerana anda telah memahaminya, jika anda tidak faham, baca sahaja dokumentasi.

Alamat dokumen: https://www.php.net/manual/zh/book.pthreads.php

Di sini saya akan bercakap tentang proses pemasangan. dan saya juga berunding dengan banyak maklumat, telah dipasang secara rasmi. Tuliskannya untuk menyimpan rekod anda sendiri, dan juga berikan rakan masa depan rujukan untuk mengelakkan perangkap.

Persekitaran pemasangan

  • Ubuntu 16.04 LTS
  • Lnmp 1.4 - - Saya percaya ramai orang menggunakan
  • kod sumber pthreads ini

Perlu diingatkan di sini bahawa pemasangan sambungan ini melalui pecl install pthreads tidak berjaya. Anda perlu memuat turun kod sumber, menyusun dan memasangnya sendiri, dan ia hanya boleh dimuat turun dari cawangan batang GitHub. Kod sumber lain nampaknya menghadapi masalah Saya mula-mula memuat turunnya dari http://pecl.php.net, tetapi kompilasi sentiasa gagal. Kemudian, saya menyemak maklumat dan mendapati terdapat masalah. Anda perlu memuat turunnya dari GitHub.

GitHub: https://github.com/krakjoe/pthreads

Mengkonfigurasi persekitaran PHP

Secara lalai, semua orang telah memasang persekitaran lnmp tidak dipasang dengan betul, sila belok kiri apabila anda keluar dan Google ia.
Oleh kerana pthread memerlukan PHP untuk dijalankan dengan cara yang selamat untuk thread, anda perlu menambah --enable-maintainer-zts apabila menyusun PHP Walau bagaimanapun, pakej penyepaduan lnmp adalah thread-unsafe secara lalai.

Sini pergi ke direktori pemasangan lnmp anda dan cari fail lnmp.conf

Bagaimana untuk memasang sambungan benang php pada linux

Tambah --enable-maintainer-zts ke PHP_Modules_Options seperti yang ditunjukkan dalam tangkapan skrin saya .

Kompilasi PHP

  1. Persekitaran pemasangan baharu, cuma ikut proses lnmp langkah demi langkah. Selepas pemasangan selesai, php adalah selamat untuk benang.
  2. Persekitaran lnmp yang dipasang Di sini kita boleh menggunakan skrip naik taraf yang disediakan oleh lnmp untuk menaik taraf php (PS: Skrip tidak mengesan nombor versi semasa. Jika kita memasukkan nombor versi semasa, Just pasang semula PHP) Operasi selesai.
  3. ** Kompilasi PHP secara manual ** Masukkan direktori lnmp1.4-full/src (mengikut situasi sebenar anda), direktori saya berada dalam /home/src/lnmp1.4-full/src dan lihat jika terdapat mana-mana pakej mampat PHP, jika anda belum memuat turun sendiri
sudo wget http://cn2.php.net/distributions/php-7.0.20.tar.bz2
tar -jxvf php-7.0.20.tar.bz2

Nota: Anda boleh mendapatkan alamatnya sendiri di laman web rasmi PHP Apa yang saya berikan di sini tersedia pada masa ini.

Teruskan:

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/conf.d --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-intl --enable-pcntl --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-xsl --enable-maintainer-zts
make
sudo make install

Kod ini diekstrak daripada lnmp1.4-full/include/php.sh Anda boleh mengkajinya sendiri.
Buka phpinfo();

Bagaimana untuk memasang sambungan benang php pada linux

Sahkan bahawa Thread Safety didayakan

Kompilasi pthread Saat kritikal telah tiba

Pthreads. Pakej kod sumber diletakkan dalam direktori ext kod sumber php Direktori saya ialah: lnmp1.4-fullsrcphp-7.0.19ext [Laraskan mengikut situasi anda sendiri]
Masukkan direktori pthreads

phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
sudo make install

php- Laluan konfigurasi dilaraskan mengikut situasi anda sendiri. Jika anda menggunakan lnmp lalai, ini dia

Apabila anda melaksanakannya di sini, mesej yang menunjukkan bahawa pthreads.so berjaya disusun seharusnya muncul. Jika tidak, semak langkah sebelumnya.

Mengkonfigurasi php.ini

Tutorial dalam talian umum akan berkata selepas mencapai tahap ini: tambah pthreads.so pada fail php.ini dan mulakan semula php-fpm dan itu sahaja.
Ini adalah lubang. Jika anda menambah php.ini secara langsung, anda akan mendapati bahawa php-fpm tidak boleh dimulakan, menyebabkan pthreads.so tidak boleh dimuatkan

Postur yang betul:
Salin php.ini dan namakannya php-cli. ini
Masukkan pthreads.so ke dalam php.cli.ini
Kemudian php -m | grep pthreads untuk melihat jika ia telah muncul.

Ia hanya selesai di sini.

Nota: Jangan gunakan pthread dalam persekitaran pengeluaran Jika terdapat pepijat, mainkan sahaja dengannya dan jalankan tugas baris arahan. Anda juga mendapati melalui pemasangan akhir bahawa ia hanya boleh dijalankan melalui cli. Ha ha ha ha.

Akhir sekali, terdapat banyak demo untuk dilihat dalam pakej pthreads yang dipasang dalam Windows.

Alamat muat turun versi Windows: https://windows.php.net/downloads/pecl/releases/pthreads/

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk memasang sambungan benang php pada linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn