国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim Backend-Entwicklung PHP-Tutorial Linux-Tutorial: Tutorial zur manuellen Kompilierung der PHP-AMQP-Erweiterung unter Ubuntu

Linux-Tutorial: Tutorial zur manuellen Kompilierung der PHP-AMQP-Erweiterung unter Ubuntu

Jul 29, 2016 am 09:14 AM
amqp channel exchange gt

Linux-Tutorial: Tutorial zur manuellen Kompilierung der PHP-AMQP-Erweiterung unter Ubuntu

Ist Shenma amqp? Die Einführung ist hier. Einfach ausgedrückt handelt es sich um das erweiterte Warteschlangen-Protokoll. Diese Erweiterung soll es PHP erm?glichen, das amqp-Protokoll und die zugeh?rige Warteschlange-Dienstkommunikation zu unterstützen.

Vorteile: Es kann das Parallelit?tsproblem der Serververarbeitung l?sen.
Das Advanced Messaging Queuing Protocol (AMQP) ist eine Protokollspezifikation auf Anwendungsebene, die für asynchrone Nachrichtenübermittlung verwendet wird. Als Wire-Layer-Protokoll und nicht als API (wie JMS) k?nnen AMQP-Clients Nachrichten unabh?ngig von ihrer Quelle beliebig senden und empfangen. Mittlerweile gibt es bereits eine ganze Reihe von Servern und Clients für verschiedene Plattformen, die zum Einsatz kommen k?nnen.

(1) Grundkonzepte

RabbitMQ ist ein beliebtes Open-Source-Messaging-

Warteschlangensystem

, das in Erlang-Sprache entwickelt wurde. RabbitMQ ist eine Standardimplementierung von AMQP (Advanced Message Queuing Protocol). Wenn Sie mit AMQP nicht vertraut sind, wird es schwierig sein, die RabbitMQ-Dokumentation direkt zu lesen. Allerdings gibt es nur wenige Schlüsselkonzepte, die hier kurz vorgestellt werden. Ein paar Konzepterkl?rungen:

Broker: Einfach ausgedrückt handelt es sich um eine Nachrichten-

Warteschlange

Server-Entit?t.
  • Austausch: Nachrichtenaustausch, der die Regeln festlegt und an welche Warteschlange die Nachricht weitergeleitet wird.
  • Warteschlange: Nachrichten-Warteschlange Tr?ger, jede Nachricht wird in eine oder mehrere
  • Warteschlangen
  • gestellt. Bindung: Bindung, ihre Funktion besteht darin, Austausch und Warteschlange gem?? Routing-Regeln zu binden. Routing-Schlüssel: Routing-Schlüsselwort, Exchange übermittelt Nachrichten basierend auf diesem Schlüsselwort.
  • vhost: virtueller Host k?nnen in einem Broker ge?ffnet werden, um die Berechtigungen für verschiedene Benutzer zu trennen.
  • Produzent: Nachrichtenproduzent ist das Programm, das Nachrichten übermittelt.
  • Verbraucher: Nachrichtenkonsument ist das Programm, das Nachrichten akzeptiert.
  • Kanal: Nachrichtenkanal In jeder Verbindung des Clients k?nnen mehrere Kan?le eingerichtet werden, und jeder Kanal stellt eine Sitzungsaufgabe dar.
  • (2) Nutzungsprozess
  • Das hei?t, Client – ??AMQP-Server – Client
Der Client auf der linken Seite sendet eine Nachricht an den Client auf der rechten Seite. Der Vorgang ist:

Verbindung abrufen

Kanal abrufen
  • Austausch definieren, Warteschlange
  • verwendet einen RoutingKey, der die Warteschlange an einen Exchange bindet
  • Senden Sie die Nachricht an die entsprechende Warteschlange, indem Sie einen Exchange und einen RoutingKey angeben
  • Der Empf?nger erh?lt dann auch die Verbindung, wenn er sie empf?ngt Ruft den Kanal ab und gibt dann eine Warteschlange an, um Nachrichten direkt aus der Warteschlange abzurufen, um die es sich handelt. Es ist egal, wie Exchange, RoutingKey und die Bindung erfolgen. Es ist in Ordnung, Nachrichten aus der entsprechenden Warteschlange abzurufen ??>Aufgrund der Standardquelle von Ubuntu gibt es kein php5-amqp-Paket, daher müssen Sie es manuell kompilieren, um amqp verwenden zu k?nnen.
  • Vorbereitungsarbeiten
  • :
PHP-Kompilierungstools installieren

Rabbitmq-Bibliothek installieren

Wenn Sie Linux verwenden Die Distribution verfügt nicht über ein vorgefertigtes librabbitmq-dev-Paket, Sie k?nnen es also kompilieren und installieren, indem Sie den Quellcode herunterladen

Wenn Sie Git dann nicht installiert haben, installieren Sie bitte Git, da wir das erhalten müssen Quellcode aus dem offiziellen Repository
<code>sudo apt<span>-get</span> install php5<span>-dev</span></code>

Klonen Sie den Quellcode und kompilieren Sie

<code>sudo apt<span>-get</span> install librabbitmq<span>-dev</span></code>

Kompilieren Sie die Bibliothek

Dann müssen wir den Quellcode der PHP-Erweiterung herunterladen , die Adresse ist hier:

http ://pecl.php.net/package/amqp
<code>git <span>clone</span> git:<span>//<strong>github</strong>.com/alanxz/rabbitmq-c.git</span>
cd rabbitmq-c
git submodule init
git submodule update</code>

Die neueste Version ist 1.4.0

<code>autoreconf -i && ./configure && <span>make</span> && sudo <span>make</span> install</code>

Erstellen Sie die Konfiguration Datei

Dann starten Sie Ihren Webserver oder PHP-FPM neu und drucken Sie phpinfo. Wenn Sie den folgenden Inhalt sehen, bedeutet dies, dass die Erweiterung installiert ist

Beispiel
<code>wget http://pecl<span>.php</span><span>.net</span>/get/amqp-<span>1.4</span><span>.0</span><span>.tgz</span>tar zxf amqp-<span>1.4</span><span>.0</span><span>.tgz</span>
cd amqp-<span>1.4</span><span>.0</span>/

phpize && ./configure --with-amqp && make && sudo make install</code>

Produktion Seite

<code><span>sudo</span><span>echo</span><span>"extension = amqp.so"</span> > /etc/php5/conf.d/amqp.ini</code>

Verbraucherseite

Das Obige stellt die manuelle Kompilierung des PHP-AMQP-Erweiterungs-Tutorials unter Linux unter Ubuntu vor, einschlie?lich der relevanten Inhalte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

<code><span>/**
 * PHP amqp(RabbitMQ) Demo - publisher
 * 生產(chǎn)者:發(fā)送消息
 * 邏輯:創(chuàng)建連接-->創(chuàng)建channel-->創(chuàng)建交換機<strong>對象</strong>-->發(fā)送消息* 
 */</span><span>//配置信息</span><span>$conn_args</span> = <span>array</span>(
    <span>'host'</span> => <span>'localhost'</span>,
    <span>'port'</span> => <span>'5672'</span>,
    <span>'login'</span> => <span>'guest'</span>,
    <span>'password'</span> => <span>'guest'</span>,
    <span>'vhost'</span>=><span>'/'</span>
);
<span>$e_name</span> = <span>'e_lamp'</span>; <span>//交換機名</span><span>$k_route</span> = <span>'key_1'</span>; <span>//路由key</span><span>//創(chuàng)建連接和channel</span><span>$conn</span> = <span>new</span> AMQPConnection(<span>$conn_args</span>);
<span>if</span> (!<span>$conn</span>->connect()) {
    <span>die</span>(<span>"Cannot connect to the broker!\n"</span>);
}
<span>$channel</span> = <span>new</span> AMQPChannel(<span>$conn</span>);

<span>//消息內容</span><span>$message</span> = <span>"TEST MESSAGE! 測試消息!"</span>;

<span>//創(chuàng)建交換機<strong>對象</strong></span><span>$ex</span> = <span>new</span> AMQPExchange(<span>$channel</span>);
<span>$ex</span>->setName(<span>$e_name</span>);

<span>//發(fā)送消息</span><span>//$channel->startTransaction(); //開始事務</span><span>for</span>(<span>$i</span>=<span>0</span>; <span>$i</span><<span>5</span>; ++<span>$i</span>){
    <span>echo</span><span>"Send Message:"</span>.<span>$ex</span>->publish(<span>$message</span>, <span>$k_route</span>).<span>"\n"</span>;
}
<span>//$channel->commitTransaction(); //提交事務</span><span>$conn</span>->disconnect();</code>

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Dec 29, 2023 pm 02:27 PM

Viele Benutzer werden sich bei der Auswahl von Smartwatches für die Marke Huawei entscheiden. Viele Benutzer sind neugierig auf den Unterschied zwischen Huawei GT3pro und GT4. Was sind die Unterschiede zwischen Huawei GT3pro und GT4? 1. Aussehen GT4: 46 mm und 41 mm, das Material ist Glasspiegel + Edelstahlgeh?use + hochaufl?sende Faserrückschale. GT3pro: 46,6 mm und 42,9 mm, das Material ist Saphirglas + Titangeh?use/Keramikgeh?use + Keramikrückschale 2. Gesundes GT4: Mit dem neuesten Huawei Truseen5.5+-Algorithmus werden die Ergebnisse genauer. GT3pro: EKG-Elektrokardiogramm sowie Blutgef?? und Sicherheit hinzugefügt

Fix: Snipping-Tool funktioniert unter Windows 11 nicht Fix: Snipping-Tool funktioniert unter Windows 11 nicht Aug 24, 2023 am 09:48 AM

Warum das Snipping-Tool unter Windows 11 nicht funktioniert Das Verst?ndnis der Grundursache des Problems kann dabei helfen, die richtige L?sung zu finden. Hier sind die h?ufigsten Gründe, warum das Snipping Tool m?glicherweise nicht ordnungsgem?? funktioniert: Focus Assistant ist aktiviert: Dies verhindert, dass das Snipping Tool ge?ffnet wird. Besch?digte Anwendung: Wenn das Snipping-Tool beim Start abstürzt, ist es m?glicherweise besch?digt. Veraltete Grafiktreiber: Inkompatible Treiber k?nnen das Snipping-Tool beeintr?chtigen. St?rungen durch andere Anwendungen: Andere laufende Anwendungen k?nnen mit dem Snipping Tool in Konflikt geraten. Das Zertifikat ist abgelaufen: Ein Fehler w?hrend des Upgrade-Vorgangs kann zu diesem Problem führen. Diese einfache L?sung ist für die meisten Benutzer geeignet und erfordert keine besonderen technischen Kenntnisse. 1. Aktualisieren Sie Windows- und Microsoft Store-Apps

So erstellen Sie eine No-Reply-E-Mail-Adresse in Exchange Server/Microsoft 365 So erstellen Sie eine No-Reply-E-Mail-Adresse in Exchange Server/Microsoft 365 Feb 19, 2024 pm 04:03 PM

In diesem Artikel erfahren Sie, wie Sie in Exchange Server/Microsoft365 eine No-Reply-E-Mail-Adresse einrichten. No-Reply-E-Mail-Adressen k?nnen eine enorme Produktivit?tssteigerung bedeuten, wenn Sie E-Mails automatisch versenden müssen, ohne eine Antwort zu erhalten. Erstellen Sie eine No-Reply-E-Mail-Adresse in Exchange Server/Microsoft365. Führen Sie die folgenden Schritte aus, um eine No-Reply-E-Mail-Adresse in Exchange Server/Microsoft365 zu erstellen: Melden Sie sich mit Ihrem Administratorkonto beim Microsoft365 Admin Center an. Klicken Sie auf das Navigationsmenü und w?hlen Sie im Admin Center die Option Exchange aus. Die B?rse wird nun ge?ffnet

Wie Swoole asynchrone AMQP-Vorg?nge unterstützt Wie Swoole asynchrone AMQP-Vorg?nge unterstützt Jun 25, 2023 am 08:22 AM

Da das Volumen des Internetgesch?fts weiter w?chst, wird die Nachfrage nach hoher Parallelit?t und hoher Leistung immer gr??er, und Swoole wird als Netzwerkkommunikations-Framework für PHP immer mehr von Entwicklern bevorzugt. Unter anderem unterstützt Swoole asynchrones AMQP, eines der h?ufigsten Anwendungsszenarien. Schauen wir uns also an, wie Swoole asynchrone AMQP-Vorg?nge unterstützt. Zun?chst müssen wir kl?ren, was AMQP ist. AMQP (AdvancedMessageQueuingProtocol) Erweitert

So beheben Sie den Fehler ?Verbindung zum App Store nicht m?glich' auf dem iPhone So beheben Sie den Fehler ?Verbindung zum App Store nicht m?glich' auf dem iPhone Jul 29, 2023 am 08:22 AM

Teil 1: Erste Schritte zur Fehlerbehebung überprüfen des Apple-Systemstatus: Bevor wir uns mit komplexen L?sungen befassen, beginnen wir mit den Grundlagen. Das Problem liegt m?glicherweise nicht an Ihrem Ger?t; die Server von Apple sind m?glicherweise ausgefallen. Besuchen Sie die Systemstatusseite von Apple, um zu sehen, ob der AppStore ordnungsgem?? funktioniert. Wenn es ein Problem gibt, k?nnen Sie nur warten, bis Apple es behebt. überprüfen Sie Ihre Internetverbindung: Stellen Sie sicher, dass Sie über eine stabile Internetverbindung verfügen, da das Problem ?Verbindung zum AppStore nicht m?glich“ manchmal auf eine schlechte Verbindung zurückzuführen ist. Versuchen Sie, zwischen WLAN und mobilen Daten zu wechseln oder die Netzwerkeinstellungen zurückzusetzen (Allgemein > Zurücksetzen > Netzwerkeinstellungen zurücksetzen > Einstellungen). Aktualisieren Sie Ihre iOS-Version:

php提交表單通過后,彈出的對話框怎樣在當前頁彈出,該如何解決 php提交表單通過后,彈出的對話框怎樣在當前頁彈出,該如何解決 Jun 13, 2016 am 10:23 AM

php提交表單通過后,彈出的對話框怎樣在當前頁彈出php提交表單通過后,彈出的對話框怎樣在當前頁彈出而不是在空白頁彈出?想實現(xiàn)這樣的效果:而不是空白頁彈出:------解決方案--------------------如果你的驗證用PHP在后端,那么就用Ajax;僅供參考:HTML code

So optimieren Sie die Akkulaufzeit des iPad mit iPadOS 17.4 So optimieren Sie die Akkulaufzeit des iPad mit iPadOS 17.4 Mar 21, 2024 pm 10:31 PM

So optimieren Sie die Akkulaufzeit des iPad mit iPadOS 17.4 Die Verl?ngerung der Akkulaufzeit ist der Schlüssel zum mobilen Ger?teerlebnis, und das iPad ist ein gutes Beispiel. Wenn Sie das Gefühl haben, dass der Akku Ihres iPads zu schnell leer wird, machen Sie sich keine Sorgen, es gibt eine Reihe von Tricks und Optimierungen in iPadOS 17.4, die die Laufzeit Ihres Ger?ts deutlich verl?ngern k?nnen. Das Ziel dieses ausführlichen Leitfadens besteht nicht nur darin, Informationen bereitzustellen, sondern auch darin, die Art und Weise zu ?ndern, wie Sie Ihr iPad verwenden, Ihr gesamtes Batteriemanagement zu verbessern und sicherzustellen, dass Sie sich l?nger auf Ihr Ger?t verlassen k?nnen, ohne es aufladen zu müssen. Durch die übernahme der hier beschriebenen Vorgehensweisen machen Sie einen Schritt hin zu einem effizienteren und bewussteren Einsatz von Technologie, der auf Ihre individuellen Bedürfnisse und Nutzungsmuster zugeschnitten ist. Identifizieren Sie die gr??ten Energieverbraucher

Ist watch4pro besser oder GT? Ist watch4pro besser oder GT? Sep 26, 2023 pm 02:45 PM

Watch4pro und GT verfügen jeweils über unterschiedliche Funktionen und Anwendungsszenarien. Wenn Sie Wert auf umfassende Funktionen, hohe Leistung und ein stilvolles Erscheinungsbild legen und bereit sind, einen h?heren Preis in Kauf zu nehmen, ist Watch 4 Pro m?glicherweise besser geeignet. Wenn Sie keine hohen funktionalen Ansprüche haben und mehr Wert auf Akkulaufzeit und einen angemessenen Preis legen, ist die GT-Serie m?glicherweise besser geeignet. Die endgültige Wahl sollte auf der Grundlage pers?nlicher Bedürfnisse, Budgets und Vorlieben getroffen werden. Es wird empfohlen, vor dem Kauf Ihre eigenen Bedürfnisse sorgf?ltig zu prüfen und sich die Bewertungen und Vergleiche verschiedener Produkte anzusehen, um eine fundiertere Entscheidung zu treffen.

See all articles