


Linux-Tutorial: Tutorial zur manuellen Kompilierung der PHP-AMQP-Erweiterung unter Ubuntu
Jul 29, 2016 am 09:14 AMLinux-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.
(1) Grundkonzepte
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.
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
Verbindung 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
- :
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>

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

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

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

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

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

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

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

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

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

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.
