鍍金池/ 問答/ PHP問答
涼心人 回答

你是使用的中國鏡像把。中國鏡像需要一段時(shí)間同步。你可以切換回原網(wǎng)鏡像

好不容易研究出來了。
對模型代碼改寫

clipboard.png
對倉庫代碼改寫

clipboard.png

把配置寫在環(huán)境變量里面,根據(jù)環(huán)境變量分辨即可

賤人曾 回答

你這個(gè)流程錯誤了吧,應(yīng)該是b用戶如果沒有關(guān)注,那么彈出。判斷是否關(guān)注應(yīng)該簡單這個(gè)有接口,彈窗的話不是有前端來做嗎,這個(gè)也不復(fù)雜

好難瘦 回答

應(yīng)該是編碼字符集類型的問題,我之前也遇到過,你試試下面的這種方式:
iconv('UTF-8', 'GBK//IGNORE', $fileDesAddr);

夢若殤 回答

實(shí)際上,結(jié)果中是有兩個(gè)同名列都有的,但這樣不好解析,可以用別名(alias)

SELECT 
    table1.column1 AS column_alias1,
    table2.column1 AS column_alias2
FROM
    table1, table2;

這樣結(jié)果中的兩列column_alias1column_alias2,分別就是table1column1table2column1了。

話說你都知道用表的alias了,還不知道用列的alias,下面是混合使用別名。

SELECT
    a.c1,
    a.c2 AS ca1,
    b.c2 AS ca2,
    b.c3
FROM
    table1 AS a,
    table2 AS b;

這樣結(jié)果會有四列,c1ca1、ca2c3。

你也可以混合用通配符*,但這樣會把原名和別名的列一起放到結(jié)果中,不過并不影響解析,你知道你要的是啥就行了。

葬愛 回答

302是重定向跳轉(zhuǎn),你無法使用curl去直接獲取access_token,應(yīng)該是通過跳轉(zhuǎn)后,正常應(yīng)該會放到url

xxx.com/index.php?access_token=xxxxxx

地址上。通過

$_GET['AccessToken']

去獲取,基本流程如下

1、你的url xxx.a.com
2、通過請求后302到 xxx.b.com
3、xxx.b.com得到你的請求驗(yàn)證后又跳回xxx.a.com
4、這個(gè)時(shí)候你xxx.a.com下的url上就應(yīng)該又了access_token

補(bǔ)充:使用你提供的id與secret,我這顯示正常,應(yīng)該不是代碼問題

clipboard.png

會不會是因?yàn)槟銢]有curl擴(kuò)展?
或者是又報(bào)錯信息,但是你沒有設(shè)置顯示報(bào)錯信息?

淚染裳 回答

laravel5.2開始, StartSession中間件被放到了$middlewareGroups web組中, 所以如果需要在請求中使用session,必須把路由放到web中間件組中, 如下:

Route::group(['middleware' => ['web']], function () {
    Route::get('xxx','xxx');
    // ...
});

而全局的中間件$middleware則不需要再寫上StartSession中間件了.

怣痛 回答

1.查看自己的 ip,以及網(wǎng)關(guān)

假如自己的ip是 192.168.20.50,網(wǎng)關(guān):192.168.20.100
那么另一個(gè)人的配置應(yīng)該為:
192.168.20.xxx, 網(wǎng)關(guān)一致。

2.設(shè)置 homestead 配置

在 Homestead 目錄下面的 homestead.yaml:

追加配置:
networks:
- type: "public_network"
    ip: "192.168.20.10" //這里是重點(diǎn),配置成局域網(wǎng)同ip段的
    bridge: "en1: Wi-Fi (AirPort)"

3.重啟 homestead

vagrant reload
愿如初 回答

個(gè)人一些看法:(什么語言都差不多的,我這邊是Java的)

省略前頭的部分內(nèi)容,畢竟是比較簡單的演化過程

我們將session做成一個(gè)session服務(wù)器,browser1通過負(fù)載均衡請求服務(wù)器,服務(wù)器將session信息存儲到session服務(wù)器中,當(dāng)想要獲取時(shí)就反向進(jìn)行。(缺點(diǎn):目前session Server是單點(diǎn)的,如何解決單點(diǎn),保證可用性)

圖片描述

我們可以將Session Server也做成集群,其適合用于Session數(shù)量與web服務(wù)數(shù)量大的情況下,更改架構(gòu)后,也要修改應(yīng)用存儲session的業(yè)務(wù)邏輯。

接下來我們再看看數(shù)據(jù)庫,讀寫都要經(jīng)過數(shù)據(jù)庫,當(dāng)用戶量達(dá)到一定量時(shí),數(shù)據(jù)庫又將成為一個(gè)瓶頸,則我們將如何解決?我們可以使用數(shù)據(jù)庫的讀寫分離,主從庫,并通過統(tǒng)一的數(shù)據(jù)訪問模型進(jìn)行訪問,將所有讀操作引入到Slave服務(wù)器,將寫操作引入到主庫當(dāng)中,由于數(shù)據(jù)庫讀寫分離,所以應(yīng)用程序也要有相應(yīng)的變化,使用數(shù)據(jù)訪問模塊讓應(yīng)用程序開發(fā)人員不用理會讀寫分離的存在,這樣多數(shù)據(jù)源讀寫代碼對我們的業(yè)務(wù)就沒有了侵入(代碼層的演變,如何支持多數(shù)據(jù)源、如何封裝對業(yè)務(wù)沒有侵入、如何使用現(xiàn)用的ORM框架實(shí)現(xiàn)數(shù)據(jù)讀寫分離、是否更換ORM、其優(yōu)缺點(diǎn)?)

圖片描述

當(dāng)我們訪問過大,I/O過大,我們數(shù)據(jù)的讀寫分離又將遇到這幾個(gè)問題,主從庫復(fù)制時(shí)是否延遲(分機(jī)房部署、跨機(jī)房傳輸),應(yīng)用對于數(shù)據(jù)源的路由問題,接著我們?yōu)榱颂岣叻?wù)器,增加了CND和反向代理服務(wù)器,使用CDN可以解決不同地方訪問速度問題、反向代理可以在機(jī)房中緩存用戶的資源。

圖片描述

這時(shí)文件服務(wù)器又出現(xiàn)了瓶頸,我們將文件服務(wù)器改為分布式文件服務(wù)器集群,我們要考慮到:如何不影響線上的業(yè)務(wù)訪問,是否需要業(yè)務(wù)部門幫忙清理數(shù)據(jù),是否需要備份服務(wù)器,是否需要重新做域名解析。
圖片描述
這時(shí)我們的數(shù)據(jù)庫又出現(xiàn)了新的瓶頸,我們選擇專庫專用的方式,進(jìn)行數(shù)據(jù)庫的垂直拆分,可以解決寫數(shù)據(jù)、并發(fā)、量大的問題,分庫后又將帶來一些新的問題:跨業(yè)務(wù)的事務(wù)(分布式事務(wù))

圖片描述

當(dāng)某個(gè)數(shù)據(jù)的訪問量、數(shù)據(jù)量、日志等過大達(dá)到瓶頸時(shí),這時(shí)我們就要進(jìn)行數(shù)據(jù)庫的水平拆分,我們將User拆分成Users1和Users2,水平拆分即將同一個(gè)數(shù)據(jù)表的數(shù)據(jù)拆分到兩個(gè)數(shù)據(jù)庫當(dāng)中,這時(shí)我們就解決了單數(shù)據(jù)庫的瓶頸。
圖片描述
水平拆分后,SQL路由出現(xiàn)一些問題,假設(shè)我們想知道某個(gè)用戶是存在Users1還是Users2中,且由于分庫,主鍵的策略也將有所不同,同時(shí)也將面臨一個(gè)分頁的問題(后臺管理系統(tǒng)在進(jìn)行展示時(shí)還要考慮分頁的問題),當(dāng)完成后,我們又發(fā)現(xiàn)應(yīng)用服務(wù)器的搜索量上升,這時(shí)我們將應(yīng)用服務(wù)器的搜索功能提取出來做成搜索引擎,同時(shí)部分場景使用NoSQL提高性能,

圖片描述

當(dāng)然以上架構(gòu)還存在部分問題,如負(fù)載均衡服務(wù)器是單點(diǎn),因此也可以將負(fù)載均衡服務(wù)器做成集群,進(jìn)行主從的熱備,同時(shí)做一個(gè)自動切換的解決方案。

過程中:安全性、數(shù)據(jù)分析、監(jiān)控、反作弊........
繼續(xù)發(fā)展:SOA架構(gòu)、服務(wù)化、消息隊(duì)列、任務(wù)調(diào)度、多機(jī)房........

掛念你 回答

1樓提供的方法確實(shí)是一種解決方案。適合不同控制器中重復(fù)代碼是一個(gè)功能性的內(nèi)容,比如從第一行執(zhí)行到共同部分最后一行只想得到一個(gè)結(jié)果的場景,如果不是功能性的內(nèi)容,重復(fù)部分代碼執(zhí)行過程中的數(shù)據(jù)都需要用到,那么用1樓的方法需要返回重復(fù)部分代碼執(zhí)行過程中的所有數(shù)據(jù)。不知道這樣說理解不。

另外一個(gè)方法是TP本身就有前置加載,重復(fù)部分的內(nèi)容也可以通過前置加載的方法去用。

第三種方法控制器繼承。

反正這種問題解決方法不一而足,根據(jù)自己習(xí)慣去做就好。

歆久 回答

HTTP 默認(rèn)端口是 80, 指提供 HTTP 服務(wù)的進(jìn)程監(jiān)聽在 TCP 80 端口。

這好比銀行的服務(wù)大廳有多個(gè)窗口,其中有個(gè)窗口提供外幣兌換服務(wù)。為了讓客戶更便捷的找到窗口,銀行總部規(guī)定默認(rèn)情況下,各分行的第 80 個(gè)窗口提供外幣兌換服務(wù),這樣需要兌換服務(wù)的客戶只要找到任意一家分行,直奔 80 號窗口便是。

這里各分行地址可理解成 IP 地址,大廳的各個(gè)窗口可理解成端口。大廳各個(gè)窗口的服務(wù)內(nèi)容可由大廳經(jīng)理安排,這個(gè)經(jīng)理可理解成服務(wù)器管理員,意思是雖然 HTTP 默認(rèn)端口是 80, 管理員也可以改成 81 端口,也可以把 80 端口改成 SSH 等其他服務(wù)。


那比如我的電腦裝了qq ,微信,瀏覽器等都可以收到http響應(yīng),如何區(qū)分?

這些應(yīng)用均屬于 HTTP 客戶端,而上面說的是 HTTP 服務(wù)器。

孤巷 回答

不要用定時(shí)器!!!!!!!!!! 最實(shí)用的辦法, 可以添加一個(gè)額外的state 根據(jù)state 來判斷是否是disable

荒城 回答

不太確定是哪里的問題,給個(gè)調(diào)試思路吧

  1. 對照下官方文檔,檢查下參數(shù)和常見問題。文檔里好像說過gd低版本+路徑里有空格,會導(dǎo)致報(bào)找不到字體。你這個(gè)雖然沒空格,但是中文路徑也不建議~
  2. 看下字體權(quán)限,是不是可編輯。我記得在屬性里就可以看到。不是的話,找個(gè)有可編輯屬性的字體再試試,比如開源的思源字體應(yīng)該沒問題。
  3. 路徑直接寫絕對的試試。不過這里問題應(yīng)該不大。

^\d{2}:\d{2}-\d{2}:\d{2}$ 試試看 :是中文的?

雅痞 回答

為什么說參數(shù)不能放在 search 中呢?沒遇到這種限制。
最好還是在 search 中,如果不行,可以考慮用 location.hash

萌二代 回答

沉浸式狀態(tài)欄,百度一下就知道了。

孤巷 回答

docker 運(yùn)行時(shí)php5.x 環(huán)境是可以的

不過你需要把你在本地項(xiàng)目的目錄映射到 docker php5.x的容器里面
docker pull php:5.3

至于你說的 tp3.2 連 mysql 可以把宿主機(jī)內(nèi)網(wǎng)ip地址加上3306端口映射到容器中 。
但這并不是一個(gè)好辦法

正確的是在docker內(nèi)創(chuàng)建一個(gè) mysql 然后設(shè)置 php 和 mysql兩個(gè)處于同一網(wǎng)段即可。

就像上面的兄弟說的,用 docker-compose 做可以更方便。

熟稔 回答

在報(bào)錯行前,打印$notValveForKey的值,就知道問題了