鍍金池/ 問答/ PHP問答
雅痞 回答

你用瀏覽器的網(wǎng)絡(luò)面板抓一下請求,看看哪一部分最占時間。
有條件可以部署Wireshark分析。

懶洋洋 回答

1.生成驗證碼
2.讓驗證碼結(jié)合時間的概念,比如

  • 存到緩存(redis、memcache等,以手機(jī)號為key,驗證碼為value),設(shè)置半小時過期,最后用戶提交的時候,去看下緩存還在不在,對不對
  • 存到數(shù)據(jù)庫,表結(jié)構(gòu)為phone,code,expire_time,生成數(shù)據(jù)存到數(shù)據(jù)庫,最后用戶提交去數(shù)據(jù)庫查
  • 如果不是短信驗證碼,是郵箱驗證,還可以用郵箱、過期時間等信息加密,用戶點擊確認(rèn)的時候解密,確認(rèn)時間是否過期
  • 想不粗來了
我甘愿 回答

laravel官方提供了腳手架laravel/installer,也支持create-project快速創(chuàng)建項目,官網(wǎng)有很詳細(xì)的說明。

composer create-project --prefer-dist laravel/laravel blog

一般符合composer規(guī)則的項架,如果是自己的項目可以發(fā)布到packagist.org
如果是別人的項目并且他未發(fā)布composer包到packagist,可以添加repositories來指定源

"repositories": [
    {
      "type": "git",
      "url": "http://xxxx.git"
    }
  ]

你的截圖是因為你的composer.json文件語法錯誤。不知道如何配置可以直接把composer.json文件清空,只保留大括號

{}

使用composer require xxx/xxx的方式來安裝。

網(wǎng)妓 回答

phpstorm有設(shè)置php版本的,可能phpstrom默認(rèn)設(shè)置的是php5.3

不舍棄 回答

因為設(shè)置了: error_reporting(-1);,然后用set_error_handler處理錯誤,在處理的時候拋出異常。

相關(guān)代碼在IlluminateFoundationBootstrapHandleExceptions::bootstrap

薔薇花 回答

需要刷新html頁面才能生成新的token。
你可以在后端寫一個生成token的function,在提交表單的時候先使用ajax訪問該function獲取新的token,再將這個token提交上去

    //php
    function createToken(){
        return $request->token();
    }
    
    
    //jq
    function getToken(){
        var token = null;
        $.ajax({
            url:'createToken',
            type:"get",
            async: false,
            dataType:"json",
            success function(data){
                token = data;
            }
        });
        
        return token;
    }
    
    function editOne(url,id){
        // 第一生成token
        var token=getToken();
        var xhr=$.ajax({
            url:url,
            type:"POST",
            dataType:"text",
            data:{'id':1,'__token__':token},
        })
        .done(function(data) {
            // token=xhr.getResponseHeader("__token__");
            console.log(data);
            console.log(xhr.getResponseHeader("__token__"));
        })
        .fail(function() {
            alert(data.msg);
        })
        .always(function() {
            console.log("complete");
        });
    }
慢半拍 回答

'{"name","age"}'這種形式的東西不是json,如果是對象,那就必然是鍵值對,而數(shù)組在json中就是用[]來表示的

我不懂 回答

Vue 比較好上手吧,react和ng都要先看懂才好做

Vue的學(xué)習(xí)曲線是比較線性的,前期好上手,然后慢慢學(xué)

情殺 回答

你想直接輸出圖片么?那你應(yīng)該放個img標(biāo)簽進(jìn)入,format一般只是支持text/html/raw,沒有image吧。

做不到跳轉(zhuǎn)公眾號直接關(guān)注,建議放個二維碼讓用戶掃碼關(guān)注

糖果果 回答

js拼接轉(zhuǎn)json提交。

清夢 回答

遞歸


f(arr, 3, [])

function f(arr,k,temp){
    if(k<=0){
        let sum = 0
        let r =[]
        for(let i = 0; i < temp.length; i++){
            sum += temp[i]
            r.push(temp[i])
        }
        if (sum  === hz) {
            result.push(r)
        }
        return
    }
    for (let i = 0; i < arr.length; i++) {
        temp.push(arr[i])
        f(arr, k-1, temp)
        temp.splice(temp.length-1, 1)
    }
}

小曖昧 回答

題目有錯誤。數(shù)據(jù)是一樣。$input='{"P_UserId":"10","P_OrderId":"92986320180330185035","P_FaceValue":"0.010","P_ErrCode":"0","P_PostKey":"9ccc3f6a438377853d511d17d6bfafc9"}';

瘋子范 回答

看看composer hub說明就知道了,也和entrypoint和cmd有關(guān)系,cmd不是前面是命令后面是參數(shù)么,如果設(shè)置entrypoint那么cmd會默認(rèn)得把數(shù)據(jù)作為參數(shù)提供,你可以嘗試覆蓋cmd,或者傳入?yún)?shù)。至于為什么容器掛掉,是因為composer在默認(rèn)執(zhí)行了composer命令后,程序停止,那容器也會停止

念初 回答

剛試了一下,在單數(shù)據(jù)的情況下是可以,在列表里面貌似是不行的,這個 with 函數(shù)的加載只是優(yōu)化了一下第二步的 SQL 語句。就算知道了你第一句 SQL 獲取的 ID,如果要每條數(shù)據(jù)都取前十的關(guān)聯(lián)數(shù)據(jù),我認(rèn)為一條簡單的 SQL 語句完成不了,因為不管你限制多條,都無法保證平均分配到每一條主數(shù)據(jù)上。

練命 回答

應(yīng)該是php重復(fù)jsonencode導(dǎo)致的

入她眼 回答

在加密解密時,確實可以直接用file_get_contents的方式讀取key

不過openssl_pkey_get_private還是有用的,比如從私鑰中提取公鑰:

<?php
$privateKey = openssl_get_privatekey('private.key');
$detail = openssl_pkey_get_details($privateKey);
$publicKeyString = $detail['key'];
echo $publicKeyString;

其中的 openssl_pkey_get_details 就需要傳入資源類型的私鑰。

還有就是效率問題,如果加密時每次讀取的文本格式的密鑰,那 OpenSSL 每次還要為你解析一遍密鑰。比較下面的兩個加密方法就可以看出效率上的差異了。

<?php
// 方法1:讀取密鑰到資源
$s = time();
$key = openssl_get_privatekey(file_get_contents('private.key'));
for ($i = 0; $i !== 5000; $i++) {
    openssl_private_encrypt('hello world', $encrypted, $key);
}
echo time() - $s . PHP_EOL;

// 方法2:每次加密直接讀取文本
$s = time();
$key = file_get_contents('private.key');
for ($i = 0; $i !== 5000; $i++) {
    openssl_private_encrypt('hello world', $encrypted, $key);
}
echo time() - $s . PHP_EOL;

實驗結(jié)果可以發(fā)現(xiàn)方法2要比方法1來得慢。

萢萢糖 回答

三個目錄的同級下,即父目錄里創(chuàng)建一個入口文件,在入口文件里對訪問的路徑進(jìn)行判斷,然后分發(fā)