PHP 函数在服务器和本地主机上的行为不同

发布于 2024-12-20 18:22:06 字数 489 浏览 0 评论 0原文

我已经为登录系统构建了一个类。我正在使用一个函数来生成 128 位的盐密钥。但是当我在服务器(GoDaddy Servers)上运行此函数时,它告诉我 thr round() 的参数数量错误。尽管我已经在本地主机上测试了几次,一切都很好。

你能看一下并告诉我它出了什么问题吗?

function encrypt($str, $len=null) {
 return (!empty($len)) ?
    hash('sha512', str_pad($str, (strlen($str) + $len),substr(hash('sha512', $str),round(strlen($str)/3, 0,PHP_ROUND_HALF_UP),($len - strlen($str))),STR_PAD_BOTH)) :
    hash('sha512', substr($str,round(strlen($str)/3, 0,PHP_ROUND_HALF_UP), 16));
}

I've build a class for a login system. I'm using a function to generate a salt key on 128 bits. But when I run this function on the server ( GoDaddy Servers ) it tells me that thr round() has a wrong number of arguments. Though I've tested it a few times on local host and everything is fine.

Could you take a look at it and tell me what is wrong with it ?

function encrypt($str, $len=null) {
 return (!empty($len)) ?
    hash('sha512', str_pad($str, (strlen($str) + $len),substr(hash('sha512', $str),round(strlen($str)/3, 0,PHP_ROUND_HALF_UP),($len - strlen($str))),STR_PAD_BOTH)) :
    hash('sha512', substr($str,round(strlen($str)/3, 0,PHP_ROUND_HALF_UP), 16));
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

野生奥特曼 2024-12-27 18:22:06

他们可能使用旧版本的 php。 round()的第三个参数直到php 5.3.0才被添加。

http://php.net/manual/en/function.round.php

编辑:

if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
    round($number, 0, PHP_ROUND_HALF_UP);
}else{
    if($number % 1 == 0.5){
        $number+=0.1;
    }
    round($number, 0);
}

They are probably using an older version of php. The third parameter of round() was not added until php 5.3.0.

http://php.net/manual/en/function.round.php

Edit:

if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
    round($number, 0, PHP_ROUND_HALF_UP);
}else{
    if($number % 1 == 0.5){
        $number+=0.1;
    }
    round($number, 0);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文