php base_convert在本地可以正常运行,但不能在ubuntu 18 LTS服务器上使用(Laravel 5.7)

时间:2019-01-31 14:40:28

标签: php ubuntu-18.04 laravel-5.7

地狱互联网世界

今天我又给您带来了一个奇怪而美好的问题。

在本地查看代码打击(使用Laravel内置的php服务功能,将输出以下内容:

哪个是理想的结果

[2019-01-31 14:33:07] local.DEBUG: >>: q  
[2019-01-31 14:33:07] local.DEBUG: --: q  
[2019-01-31 14:33:07] local.DEBUG: ##: 0000q  

但是,将相同的文件上传到运行Ubuntu 18 LTS的AWS t2.micro服务器-我收到以下信息:

不想要

[2019-01-31 14:22:47] local.DEBUG: >>: 14  
[2019-01-31 14:22:47] local.DEBUG: --: 14  
[2019-01-31 14:22:47] local.DEBUG: ##: 00014

以下是用于生成字母数字会员编号的代码段:

Thanks to this previous question

<?php

namespace App\Http\Controllers;

use App\Http\Requests\RegisterFormRequest;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use JWTAuth;
use PragmaRX\Countries\Package\Countries;
use App\Mail\Welcome;
use App\cart_storage;

use Log;

class AuthController extends Controller
{


    private function generateVerification($name, $title) {
        return md5( $name.substr(str_shuffle("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"), 0, 9).$title );
    }
    private function mybase33($number) {
        return strtr(base_convert($number, 10, 33), [
            'i' => 'j',
            'j' => 'k',
            'k' => 'm',
            'l' => 'n',
            'm' => 'p',
            'n' => 'q',
            'o' => 'r',
            'p' => 's',
            'q' => 't',
            'r' => 'u',
            's' => 'v',
            't' => 'w',
            'u' => 'x',
            'v' => 'y',
            'w' => 'z',
        ]);
    }
    public function registerItem(request $request){

        $id = (int)Auth::user()->id;
        $memberCodeShort = $this->mybase33($id);
        $membershipNumber = str_pad($memberCodeShort, 5, "0", STR_PAD_LEFT);

        Log::debug('>>: '.$this->mybase33($id));
        //$user->membership_number = $this->generateMembershipNumber($id);

        Log::debug('--: '.$memberCodeShort);
        Log::debug('##: '.$membershipNumber);
    }
}

关于要看什么的任何想法,我完全迷失了。但是我的直觉告诉我,可能在服务器上缺少某些东西或未正确设置

1 个答案:

答案 0 :(得分:1)

只需将评论中的内容正式化即可

您的用户ID在生产上是不同的。