从localhost迁移到AWS ec2时,我遇到了一个愚蠢的问题。 在两个环境中安装了php 5.5和mcrypt的nginx web服务器。
on localhost crypt函数有效,但在远程服务器上它以404错误页面结束。
代码的一些部分......
从网页调用函数:
$crypt = new crypt();
// encrypt the
//
$id='abcdefght';
$to='12345678';
$encoded = $crypt->encrypt( $id.','.$to);
echo $encoded."\n";
crypt class
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 :(得分:0)
这可能是由于某些问题阻止了FastCGI服务器在合理的时间内做出响应。尝试延长读取超时并查看是否存在真正的问题。
请参阅Connection timed out while reading response header和Module ngx_http_fastcgi_module。
答案 1 :(得分: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计时,运行正常。
感谢您的支持。