鍍金池/ 問(wèn)答/ PHP問(wèn)答

把row和column打出來(lái)??纯词遣皇菫閡ndefined

clipboard.png

笑忘初 回答

看到了熟悉的代碼,這個(gè)框架是我參與開(kāi)發(fā)的。
通常我們分 開(kāi)發(fā)模式和生產(chǎn)模式
生產(chǎn)模式會(huì)走緩存,即運(yùn)行的cache文件
開(kāi)發(fā)模式,即時(shí)修改即時(shí)生效,web目錄下有兩個(gè)入口文件 app.php(生產(chǎn)模式) 和app_dev.php(開(kāi)發(fā)模式),

本地開(kāi)發(fā),建議配置入口為 app_dev.php,這樣修改views就會(huì)生效
線上部署,直接刪除cache目錄即可,它會(huì)重新生成cache目錄,注意權(quán)限問(wèn)題

相關(guān)教程:http://www.qiqiuyu.com/

它是基于 symfony的,你可以了解一下

痞性 回答
  1. 數(shù)據(jù)庫(kù)里流水表記錄金額變動(dòng)的時(shí)候就記錄好當(dāng)時(shí)的余額。既能實(shí)現(xiàn)你這個(gè)功能,也方便審計(jì)
  2. 不動(dòng)數(shù)據(jù)庫(kù)的話,先查出所有的明細(xì),然后根據(jù)類型自己計(jì)算出來(lái)每一筆對(duì)應(yīng)的余額。

其他的想不到了,或者可以兩個(gè)結(jié)合,按日期分段來(lái)記錄余額,查詢的時(shí)候只要算少量的流水就能算出來(lái),感覺(jué)沒(méi)什么必要

選擇 回答

主要看你用什么技術(shù)
我用的vue單頁(yè)并且使用keep-alive
在列表頁(yè)我可以判斷 如果是從詳情返回的話 不需要加載第一頁(yè)

解夏 回答

數(shù)據(jù)庫(kù)字段類型是什么
float/double有精度限制。一般用integer(單位分)或者decimal存金額

歆久 回答

8888是Apache的端口,9000是PHP的端口,你這哪里是負(fù)載均衡啊。。。upstream應(yīng)該配置兩臺(tái)Apache,然后下面的location也不使用fastcgi_pass了,而是使用proxy_pass

獨(dú)白 回答

1.房產(chǎn)-工作表
分類ID 房產(chǎn)信息ID 工作信息ID

2.房產(chǎn)表
房產(chǎn)信息ID 屬性1 屬性2 ……

3.工作表

工作信息ID 屬性1 屬性2 ……

瘋浪 回答

可以參考 layui 有彈出層組件, 也有日期組件

你的瞳 回答

不用刪路徑,直接選擇就行

還吻 回答

犯了個(gè)非常愚蠢的錯(cuò)誤,因?yàn)槎x的post應(yīng)該合理的用post進(jìn)行請(qǐng)求(laravel是個(gè)好框架:)

冷咖啡 回答

可以查看下是否是php.ini對(duì)上傳文件的大小做了限制,分別查看upload_max_filesize和post_max_size的配置

萌面人 回答

要求SSL 加密鏈接
還有可是
過(guò)期,或你用的是盜版

下墜 回答

這個(gè)是服務(wù)自身問(wèn)題吧,不如看下服務(wù)日志!

祈歡 回答

你的 HASH 用法搞錯(cuò)了,請(qǐng)參考下面的代碼

/*
數(shù)字簽名示例代碼。

@author: 李毅
*/
package main

import (
    "bytes"
    "crypto"
    "crypto/rand"
    "crypto/rsa"
    "crypto/sha512"
    "log"
)

type Demo struct {
    PriKey *rsa.PrivateKey
}

func (demo *Demo) LoadPrivateKey() {
    privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
    if err != nil {
        log.Fatal(err)
    }
    demo.PriKey = privateKey
}

// 返回 digest, signature
func (demo *Demo) Sign(message string) ([]byte, []byte) {
    messageBytes := bytes.NewBufferString(message)
    hash := sha512.New()
    hash.Write(messageBytes.Bytes())
    digest := hash.Sum(nil)

    signature, err := rsa.SignPKCS1v15(rand.Reader, demo.PriKey, crypto.SHA512, digest)
    if err != nil {
        log.Fatalf("rsa.SignPKCS1v15 error: %v\n", err)
    }
    return digest, signature
}

func (demo *Demo) Check(digest, signature []byte) bool {
    err := rsa.VerifyPKCS1v15(&demo.PriKey.PublicKey, crypto.SHA512, digest, signature)
    if err != nil {
        log.Printf("rsa.VerifyPKCS1v15 error: %V\n", err)
        return false
    }
    return true
}

func main() {
    demo := &Demo{}
    demo.LoadPrivateKey()
    digest, signature := demo.Sign("hi")
    if demo.Check(digest, signature) {
        log.Printf("signature is good")
    } else {
        log.Printf("signature is bad")
    }
}
大濕胸 回答

之前做過(guò)的時(shí)候 大概是 點(diǎn)擊刪除的時(shí)候 把刪除的地址記錄一下 然后提交過(guò)來(lái)的時(shí)候 循環(huán)一下原圖片地址 將刪除的刪除了 然后再保存新提交的

抱緊我 回答

使用一個(gè)中間件,然后在需要的路由上附上中間件。
中間價(jià)的代碼基本就這樣:

public function handle($request, Closure $next, $guard = null)
{
    // 要認(rèn)證的用戶
    $user = User::where('status', 1)->where()->first();
    if ($user) {
        Auth::login($user);
    }
    
    return $next($request);
}

# 控制器方法
public function index()
{
    $user = Auth::user();
}
離魂曲 回答

1,調(diào)高執(zhí)行php的內(nèi)存限制
2,簡(jiǎn)化你的業(yè)務(wù)邏輯(比如切頁(yè)導(dǎo)出)