2015-01-30 1 views
0

У меня есть два сценария: один для развития (окна), а другой для производства (Unix)Undefined смещение: 1 в Http: //mysite_url/../Java.inc на линии 1067

окр развития в Windows: У меня есть веб-сервер Apache, который вызывает сервер Tomcat Apache, который установил javabridge, чтобы вызвать отчет яшмы. (Все на локальном хосте), и все работает нормально.

Производство env в CentOs: У меня есть веб-сервер Apache, который вызывает javabridge для другого сервера tomcat (который был установлен java), чтобы вызвать отчет о яшме. (Вот где я получаю сообщение об ошибке)

В TOMCAT сервере я могу выполнять функции Javabridge и примеры, но когда я называю их с веб-сервера Apache он не

Я получаю эту ошибку

Undefined offset: 1 in http://mysite_url/../Java.inc on line 1067 Fatal error: unknown error: please see back end log for details in http://mysite_url/Java.inc on line 869 

Когда я пытаюсь выполнить этот код:

<?php 

    //Parametro en caso de que el reporte no este parametrizado 
    $Parametro = new java('java.util.HashMap'); 
    ?> 

точный код в сервер Tomcat Java.inc файл является (строка 1067)

function parseHeaders() { 
$this->headers=array(); 
$line=trim(fgets($this->socket,JAVA_RECV_SIZE)); 
$ar=explode (" ",$line); 
$code=((int)$ar[1]); // LINE NUMBER 1067 
if ($code !=200) $this->headers["http_error"]=$code; 
while (($str=trim(fgets($this->socket,JAVA_RECV_SIZE)))) { 
if($str[0]=='X') { 
if(!strncasecmp("X_JAVABRIDGE_REDIRECT",$str,21)) { 
$this->headers["redirect"]=trim(substr($str,22)); 
} else if(!strncasecmp("X_JAVABRIDGE_CONTEXT",$str,20)) { 
$this->headers["context"]=trim(substr($str,21)); 
} 

И другая линия в Java.inc есть (867):

function dieWithBrokenConnection($msg) { 
unset($this->protocol->client->protocol); 
trigger_error ($msg?$msg:"unknown error: please see back end log for details",E_USER_ERROR); 
} 

UPDATE Когда я звоню по ссылке из окр развития это генерируемый заголовок:

array(3) { [0]=> string(8) "HTTP/1.1" [1]=> string(3) "200" [2]=> string(2) "OK" } 

Когда я это называю из производства env, заголовок пуст

array(1) { [0]=> string(0) "" } 

В чем может быть проблема? Есть ли какой-либо вариант на сервере, который отображает заголовок ответа или что-то в этом роде?

+1

В соответствии с политикой, пожалуйста, включите код в сам вопрос, а не ссылку на него. http://stackoverflow.com/help/how-to-ask – Jacinda

+0

Что говорит журнал? – Shekhar

+0

Журнал не показывает мне ничего. Я обновил вопрос. –

ответ

0

Мой код был в порядке, проблема заключалась в том, что я пытался получить доступ к другому серверу с помощью общедоступного ip, поэтому брандмауэр каким-то образом вынул заголовок запроса.

Решение заключалось в том, чтобы изменить общедоступный IP-адрес на тот же сетевой локальный IP-адрес, и everthing начал работать, и java.inc начал читать заголовок запроса, поэтому каждое место в Java.inc и JavaProxy.php вам нужно установить сеть переменные файловой системы ip и tomcats.

1

Прошу прощения за мой плохой английский У меня такая же проблема .. Я решил эту проблему неактивным портом tomcat (8080) на интернет-безопасности Касперского. Перейти к настройке -> дополнительная -> сеть. Chose выбрать сверху радиообзор монитор выбран только. неактивный порт 8080. его ОК и хорошо работает на выигрыше 10.

+0

Работал для меня. Благодаря!! –

Смежные вопросы