2016-10-15 21 views
2

我在Ubuntu trusty中使用PHP 7.0与Apache2。找不到类'Stomp'

我已经安装了STOMP库做

wget http://pecl.php.net/get/stomp-2.0.0.tgz 
pear install stomp-2.0.0.tgz 

并添加扩展= stomp.so到我的php.ini。

随着phpinfo()函数可以看我的践踏正确安装:

enter image description here

但我有这个脚本:

<?php 

$foo = new Stomp('tcp://localhost:61613'); 

,当我运行显示此错误:

PHP Fatal error: Uncaught Error: Class 'Stomp' not found in /vagrant/www/web/activemq-server.php:3 Stack trace:

0 {main} thrown in /vagrant/www/web/activemq-server.php on line 3

更新:

只有当脚本从控制台运行时,才会出现此问题。如果脚本从浏览器运行,那么它可以正常工作。

回答

2

您是否为CLI添加了php.ini的扩展名? 您可以在控制台中输入“php -i | grep -i stomp”来知道是否启用了扩展功能

+0

如果我运行该命令,则不显示任何内容。我用这种方法做了php.ini的扩展:extension = stomp.so – cybtow

+0

我在这个文件/etc/php/7.0/apache2/php.ini中添加了扩展名。正如Melvyn所说,有必要将其添加到Cli的php.ini中,在我的情况下本地化在/etc/php/7.0/cli/php.ini中。谢谢!!! – cybtow

1

检查命名空间。 $ foo = new \ Stomp('tcp:// localhost:61613');

+0

我试过了,但是产生了相同的错误。 – cybtow