搭建PHP STOMP服務(wù)需要以下幾個(gè)步驟:
首先,確保你的服務(wù)器上已經(jīng)安裝了以下軟件:
你可以使用以下命令安裝PHP-STOMP擴(kuò)展:
sudo apt-get install php-stomp
接下來(lái),配置你的Web服務(wù)器以支持STOMP。這里以Apache為例:
/etc/apache2/sites-available/stomp.conf
。<VirtualHost *:80>
ServerName stomp.example.com
DocumentRoot /var/www/html/stomp
<Directory /var/www/html/stomp>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/stomp_error.log
CustomLog ${APACHE_LOG_DIR}/stomp_access.log combined
</VirtualHost>
sudo a2ensite stomp.conf
sudo systemctl restart apache2
現(xiàn)在,你需要?jiǎng)?chuàng)建一個(gè)簡(jiǎn)單的STOMP客戶端來(lái)測(cè)試你的服務(wù)。創(chuàng)建一個(gè)名為stomp_client.php
的文件,并添加以下內(nèi)容:
<?php
$host = 'localhost';
$port = 61613;
$username = 'user';
$password = 'password';
// 創(chuàng)建一個(gè)STOMP連接
$conn = new Stomp\Connection([
'host' => $host,
'port' => $port,
'username' => $username,
'password' => $password,
]);
// 連接到STOMP服務(wù)器
$conn->connect();
// 訂閱一個(gè)隊(duì)列
$conn->subscribe('/queue/test', function ($message) {
echo "Received message: {$message->body}" . PHP_EOL;
});
// 保持腳本運(yùn)行,以便持續(xù)接收消息
while (true) {
$conn->wait();
}
// 關(guān)閉連接
$conn->disconnect();
?>
將stomp_client.php
文件上傳到你的Web服務(wù)器,并通過(guò)瀏覽器或命令行運(yùn)行它:
php stomp_client.php
現(xiàn)在,你應(yīng)該能夠看到接收到的消息。
這只是一個(gè)簡(jiǎn)單的示例,你可以根據(jù)自己的需求進(jìn)行擴(kuò)展和優(yōu)化。例如,你可以使用消息隊(duì)列系統(tǒng)(如RabbitMQ或Apache Kafka)來(lái)處理接收到的消息。