鍍金池/ 問答/ PHP問答
任她鬧 回答

換個(gè)思路通過忽略文件間接實(shí)現(xiàn):?jiǎn)为?dú)弄個(gè)文件,把想忽略的內(nèi)容放到里面,使用時(shí)代碼中引入文件內(nèi)容,gitignore 這個(gè)文件。

不舍棄 回答

因?yàn)樵O(shè)置了: error_reporting(-1);,然后用set_error_handler處理錯(cuò)誤,在處理的時(shí)候拋出異常。

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

薔薇花 回答

需要刷新html頁面才能生成新的token。
你可以在后端寫一個(gè)生成token的function,在提交表單的時(shí)候先使用ajax訪問該function獲取新的token,再將這個(gè)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");
        });
    }
孤影 回答

content-length 錯(cuò)誤就設(shè)置請(qǐng)求頭就行了啊

慢半拍 回答

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

情殺 回答

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

萢萢糖 回答

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

瘋子范 回答

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

網(wǎng)妓 回答

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

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

清夢(mèng) 回答

遞歸


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)
    }
}

我甘愿 回答

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

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

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

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

你的截圖是因?yàn)槟愕腸omposer.json文件語法錯(cuò)誤。不知道如何配置可以直接把composer.json文件清空,只保留大括號(hào)

{}

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

深記你 回答
Db::table('score')->where('student_id', 1)->update(['totalScore' => ['exp','peacetimeScore+finalScore'],]);
澐染 回答

沒有什么特別限制,看你服務(wù)器怎么處理了

尐潴豬 回答
  1. 是客戶的系統(tǒng)慢,還是通過vpn連接之后的系統(tǒng)慢,這個(gè)要搞清楚。
  2. 內(nèi)網(wǎng)穿透了解一下
入她眼 回答

在加密解密時(shí),確實(shí)可以直接用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 就需要傳入資源類型的私鑰。

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

<?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;

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

六扇門 回答

mark關(guān)注一下問題,沒有經(jīng)歷過這樣的項(xiàng)目,所以不清楚具體怎么解決的.
然后提一下自己的一些想法:
他們可能沒有緩存各種組合條件的查詢結(jié)果,我認(rèn)為商品單項(xiàng)是被緩存了,比如 "全聚德烤鴨","肯德基五折券" 這種具體單個(gè)商品是緩存了.但是各種條件組合的查詢結(jié)果應(yīng)該不會(huì)被緩存.
如果單品被緩存,那么只要能保證一個(gè)高效的多條件查詢引擎就可以了,查詢出來的結(jié)果就是各種商品的id,然后從緩存高速獲取到這些商品就ok了.這種高速的多面查詢引擎可以通過elasticsearch來實(shí)現(xiàn).

僅僅是個(gè)人想法 , 持續(xù)關(guān)注該問題 , 希望看到合適的答案.

糖果果 回答

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

青黛色 回答

通過您的問題分析,大致有兩種辦法:

1、長(zhǎng)連接

可以用socket長(zhǎng)連接,實(shí)時(shí)性和連接的狀態(tài)都能得到很好的保證。長(zhǎng)連接多用于操作頻繁,點(diǎn)對(duì)點(diǎn)的通訊,而且連接數(shù)不能太多情況。我們公司的客服系統(tǒng)就是用的該方法。您可以參考mqtt協(xié)議來實(shí)現(xiàn)長(zhǎng)連接的需求。

優(yōu)點(diǎn):在無消息的情況下不會(huì)頻繁的請(qǐng)求,耗費(fèi)資源小。
缺點(diǎn):服務(wù)器hold連接會(huì)消耗資源,返回?cái)?shù)據(jù)順序無保證,難于管理維護(hù)。
實(shí)例:WebQQ、Hi網(wǎng)頁版、Facebook IM。

2、ajax輪詢

客戶端定時(shí)向服務(wù)器發(fā)送Ajax請(qǐng)求,服務(wù)器接到請(qǐng)求后馬上返回響應(yīng)信息并關(guān)閉連接。 很適合web網(wǎng)站,我們公司項(xiàng)目中語音翻譯就是用的該方法。

優(yōu)點(diǎn):后端程序編寫比較容易。
缺點(diǎn):請(qǐng)求中有大半是無用,浪費(fèi)帶寬和服務(wù)器資源。
實(shí)例:適于小型應(yīng)用。

您的問題是由服務(wù)端主動(dòng)通知給客戶端,那只能用長(zhǎng)連接了,ajax輪詢是由于前端主動(dòng)觸發(fā)的,數(shù)據(jù)庫讀取狀態(tài)前端是無法知道的,所以ajax輪詢無法使用。(推送也是這個(gè)理)