鍍金池/ 問(wèn)答/ PHP問(wèn)答
掛念你 回答

一般push上去的.env文件是git被忽略的,需要在服務(wù)器網(wǎng)站根目錄檢查下有沒(méi)有.env,還有就是有些安裝包需要重新發(fā)布生成config文件

情皺 回答

AllowOverride None 改為 AllowOverride All試試

青裙 回答

不知道你情況是否跟我一樣
如果你也定義了偽靜態(tài)規(guī)則

偽靜態(tài)規(guī)則改成下面這樣

if (-f $request_filename/index.html) {
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php) {
rewrite (.*) $1/index.php;
}
if (!-f $request_filename) {
rewrite (.*) /index.php;
}

update:
第二次安裝沒(méi)有開(kāi)啟ssl,只不過(guò)同樣開(kāi)始偽靜態(tài),安裝完成后同樣進(jìn)不了后臺(tái),修改偽靜態(tài)規(guī)則就好了

P.S 我是用一鍵lnmp安裝腳本裝的環(huán)境

把拉取順序倒置一下,在生成消息模板的時(shí)候,就預(yù)先把要接收的用戶分發(fā)出去;

生成message_content表數(shù)據(jù),要選擇下發(fā)的用戶,選完用戶可以把這些用戶ID存放在redis中,然后用戶上線的時(shí)候,從redis中讀取,有數(shù)據(jù)就給提示,用戶已查看,就刪除,然后存入message表。

(如果不用redis,直接插入message表也行,只需要插入message_content_iduser_id就可以了,讀取狀態(tài)字段在數(shù)據(jù)表中默認(rèn)設(shè)置為0未查看,然后采用批量插入的方式,也挺快的)

結(jié)合一下 @lscho 的數(shù)據(jù)表設(shè)計(jì)就差不多了。


以上推送模式都有一個(gè)缺點(diǎn):就是消息模板不能實(shí)時(shí)推送給用戶,必須要用戶下次登陸或者觸發(fā)某個(gè)頁(yè)面,才能得到消息。workerman的消息推送框架了解一下

卟乖 回答

是自己本身的Docker問(wèn)題, 已解決 詳見(jiàn)GITHUB ISSUES-2

壞脾滊 回答

不懂,但是我猜想一下,會(huì)不會(huì)是需要攜帶的憑證參數(shù)沒(méi)有成功?或者進(jìn)行了跳轉(zhuǎn)你的APP沒(méi)有進(jìn)行處理。

伴謊 回答

索引有個(gè)最左匹配原則
聯(lián)合索引遇到范圍查詢停止,=或in條件是可以隨意調(diào)換順序的
比如條件是where a = 1 & b = 1 & c = 1 & d > 12
就建個(gè)(a, b, c, d)的聯(lián)合索引,其中where條件a b c 是可以任意調(diào)整順序的,但是 d就不能放到前面來(lái)了。

美團(tuán)點(diǎn)評(píng)技術(shù)博客這邊文章挺好的,推薦你看看:MySQL索引原理及慢查詢優(yōu)化

陌離殤 回答
  1. 按照特定規(guī)律提取,比如前幾位是名字,后幾位是地址

  2. 將所有地址存起來(lái),然后檢索詞,找得到就是地址,找不到就是名字,但是不排除人名和地名相同的情況

簡(jiǎn)單的做法就是用特殊符號(hào)將名字和地址分隔開(kāi)來(lái),比如空格或者冒號(hào)之類的,然后做字符串截取就可以了

未命名 回答

with(關(guān)聯(lián)關(guān)系)相對(duì)來(lái)說(shuō)比join中的用法靈活,join 對(duì)關(guān)聯(lián)關(guān)系比較明確,建議使用with

舊螢火 回答

因?yàn)闆](méi)人回答,所以我就把自己的解決方法寫一下吧。問(wèn)題確實(shí)出在CDN層面,CDN上面只配置了一個(gè)帶www的域名,而域名解析那里是將不帶www的域名解析到了CDN上,但是CDN沒(méi)有配置,故而出現(xiàn)“no orgin”的提示,原因找到了,解決很容易,CDN上增加一個(gè)不帶www的配置就可以了。

厭遇 回答

1.現(xiàn)在config目錄添加一個(gè)global.php全局配置文件;
2.在global.phpreturn 一個(gè)數(shù)組 :

return [
    'test' =>env('TEST','這是測(cè)試配置'),
];

3.上面配置可在 .env文件中修改,保證項(xiàng)目靈活性;

TEST=這是測(cè)試test的配置

4.使用 : config('global.test');

純妹 回答

你可以使用對(duì)象云存儲(chǔ),參考手冊(cè)代碼TP5上傳完畢之后會(huì)自動(dòng)在public目錄下創(chuàng)建uploads,主意是5.0.+哦
5.1.+就只能../uploads了

賤人曾 回答

問(wèn)題已解決,是瀏覽器緩存問(wèn)題。只需要禁止瀏覽器使用緩存就可以。

你好胸 回答

試試這個(gè)修改過(guò)的

<?php

function get_weekend_days($start_date, $end_date, $weekend_days=1) {

$data = array();

$start_reduce = $end_add = 0;
$start_N      = date('N',strtotime($start_date));


$end_N = date('N',strtotime($end_date));

// 進(jìn)行單、雙休判斷,默認(rèn)按單休計(jì)算
$weekend_days = intval($weekend_days);
switch ($weekend_days)
{
    case 2:
        in_array($end_N,array(6,7)) && $end_add = ($end_N == 7) ? 2 : 1;
        $start_reduce = ($start_N == 7) ? 1 : 0;
        break;
    case 1:
    default:
        $end_add = ($end_N == 7) ? 1 : 0;
        break;
}

$days = ((strtotime($end_date) - strtotime($start_date))/86400) + 1;
$data['total_days'] = $days;
$data['total_relax'] = floor(($days + $start_N - 1 - $end_N) / 7) * $weekend_days - $start_reduce + $end_add;

return $data;
}

echo "Two days per week\n";
var_dump( get_weekend_days("2018-03-31","2018-04-08",2));
var_dump( get_weekend_days("2018-04-01","2018-04-08",2));
var_dump( get_weekend_days("2018-04-02","2018-04-08",2));
var_dump( get_weekend_days("2018-04-07","2018-04-08",2));
var_dump( get_weekend_days("2018-04-08","2018-04-08",2));
echo "One day per week\n";
var_dump( get_weekend_days("2018-03-31","2018-04-08",1));
var_dump( get_weekend_days("2018-04-01","2018-04-08",1));
var_dump( get_weekend_days("2018-04-02","2018-04-08",1));
var_dump( get_weekend_days("2018-04-07","2018-04-08",1));
var_dump( get_weekend_days("2018-04-08","2018-04-08",1));
雨蝶 回答

他要你拿著media_id再去拿一次的

尤禮 回答

沒(méi)用過(guò) COM 但是提示 4323 行錯(cuò)誤,仔細(xì)看看

落殤 回答
cannot read property 'length' of undefined

的意思是undefined沒(méi)有length屬性,說(shuō)明說(shuō)你的resundefined,undefined當(dāng)然沒(méi)有length屬性了。

為啥res會(huì)是undefined?不是在控制臺(tái)里打印出來(lái)了嗎?有兩種可能,第一種是你打印的根本就不是同一個(gè)res.length(作用域的問(wèn)題),第二種,也是我認(rèn)為非常有可能的,就是你還沒(méi)搞懂js的異步,前端在發(fā)請(qǐng)求的時(shí)候需要你提供一個(gè)“回調(diào)函數(shù)”,只有在這個(gè)回調(diào)函數(shù)里你才能獲得res。比如

let res;
$.get(url, data => res = data);
console.log(res);  // undefined
res.length  // cannot read property 'length' of undefined

$.get(url, data => {
  console.log(data);
  console.log(data.length);
  // do something here
});

不知道是否可以考慮使用websocket wss協(xié)議進(jìn)行長(zhǎng)連接監(jiān)聽(tīng)提交數(shù)據(jù)