简体   繁体   中英

Why stomp can't run in apache?

  • Brief Intro

I'm now using stomp to connect with ActiveMQ based on a PHP site running on apache server. The Stomp can run in bash but can't run in apache.

  • Preparation

I install stomp by

pecl install stomp

and modify the php.ini with

extension=stomp.so

I have a 'index.php' like this:

<?php
echo 'runing-';
/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
    echo 'connecting-';
} catch(StompException $e) {
    die('Error! Connection failed: ' . $e->getMessage());
}
$stomp->send('/queue/test', 'Hello from PHP');
echo 'finished.';
/* close connection */
unset($stomp);
?>
  • Start Working

Firstly, I run with

$ php index.php

And it echo as my expectation:

$ php index.php
runing-connecting-finished.

Then I open it in browser:

http://localhost/index.php

It reports

runing-Error! Connection failed: Unable to connect to localhost:61613
  • Question

I've searching resolution for this error all day... I guess apache block the request from stomp since it runs successfully in bash.

What should I do to fix this bug?

Thanks really.

an experienced colleague called Justin get things done! Though not really understand this situation, I post my solution here:

Firstly, I run sestatus :

$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   enforcing
Mode from config file:          enforcing
Policy version:                 24
Policy from config file:        targeted

Justin told me to change settings in /etc/sysconfig/selinux to

SELINUX=permissive

Then I restart and run sestatus again:

$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   permissive
Mode from config file:          permissive
Policy version:                 24
Policy from config file:        targeted

Finally things work!

Linux stuff still seems a little magical for me. Who knows something about this please give an explanation about this.

Thanks a lot.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM