【发布时间】:2017-08-16 21:03:24
【问题描述】:
我已经下载了库:https://github.com/dejanb/stomp-php
然后实现如下代码:
<?php
use FuseSource\Stomp\Stomp;
(...)
$data=array($data1,$data2, $data3, $data4);
$json = json_encode($data, true);
$user = getenv("ACTIVEMQ_USER");
if( !$user ) $user = "admin";
$password = getenv("ACTIVEMQ_PASSWORD");
if( !$password ) $password = "password";
$destination = '/topic/event';
$messages = 10000;
$size = 256;
$DATA = "calls";
$body = $data;
for($i=0; $i< $size; $i++) {
$body .= $DATA[ $i % 26];
}
try {
$url = 'tcp://localhost:61613';
$con = new Stomp($url, $user, $password);
for($i=0; $i< $messages; $i++) {
$con->send($destination, $body);
if( $i%1000 == 0 ) {
echo "Sent ".$i." messages\n";
}
}
$stomp->send($destination, "SHUTDOWN");
} catch(StompException $e) {
echo $e->getMessage();
}
}
我得到这个错误:
致命错误:未捕获的错误:在 /opt/lampp/htdocs/skeleton-application/test.php:80 中找不到类“Stomp”
更新:
我按照https://github.com/stomp-php/stomp-php 的建议使用composer 重新安装。
我需要使用自动加载器
<?php
require __DIR__ . '/../vendor/autoload.php';
并添加了以下导入
use Stomp\Client;
use Stomp\StatefulStomp;
use Stomp\Network\Connection;
use Stomp\Transport\Message;
还是同样的错误...我需要对我的 activemq 代理做一些特别的事情吗?我通过控制台运行它......但仍然没有
【问题讨论】:
-
test.php 和库在哪里? (我的意思是项目结构)
-
我已经下载了库是什么意思?你是用 composer 安装的吗?
-
不相关,但正如您在github.com/dejanb/stomp-php#this-project-has-been-deprecated 看到的那样,该项目已被弃用。建议改用github.com/stomp-php/stomp-php。
-
我的项目文件夹中有 test.php,我有 Fuse/stomp/stomp..
标签: php zend-framework stomp