2014-01-05 4 views
0

У меня есть глупая проблема при переходе с localhost на AWS ec2. веб-сервер nginx с php 5.5 и mcrypt, установленный на обеих средах.Ошибка mcrypt 404 на EC2

Функция localhost crypt работает, но на удаленном сервере она заканчивается на странице ошибок 404.

некоторые куски кода ...

называется функция из веб-страницы:

$crypt = new crypt(); 

     // encrypt the 
     // 
     $id='abcdefght'; 
     $to='12345678'; 

     $encoded = $crypt->encrypt($id.','.$to); 
     echo $encoded."\n"; 

класс крипта

public function encrypt($text) 
{ 
    // add end of text delimiter 
    $data = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $this->key, $text, MCRYPT_MODE_ECB, $this->iv); 
    return base64_encode($data); 
} 

я не понимаю, если есть некоторый тайм-аут nginx или если мне нужно установить что-то еще ...

спасибо за помощь

+0

Проверьте журналы ошибок вашего веб-сервера, 404 не помогает в качестве описания ошибки. – deceze

+0

жаль, что вы правы, ошибка связана с тайм-аутом восходящего потока ... 2014/01/05 18:19:49 [error] 25253 # 0: * 191 upstream timed out (110: время ожидания соединения) при чтении заголовка ответа from upstream, client: 11.111.111.111, server: server, request: «GET /? controller = test & action = crypt HTTP/1.1», upstream: «fastcgi: // unix:/var/run/php5-fpm/php5-fpm .sock ", хост:" server.com " –

ответ

0

я решил, используя различные функции для крипты ...

public function encrypt($value){ 
if(!$value){return false;} 
$text = $value; 
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); 
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); 
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $this->skey, $text, MCRYPT_MODE_ECB, $iv); 
return trim($this->safe_b64encode($crypttext)); 
} 

это один работает нормально, не касаясь времени FastCGI.

спасибо за поддержку.

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