原创 PHPSession生命週期

PHP5有很多值得學習的地方,這裏我們主要介紹PHP5 Session的使用,Session 是如何來判斷客戶端用戶的呢?它是通過 Session ID 來判斷的,什麼是 Session ID,就是那個 Session 文件的文件名,S

原创 laravel驗證規則

  規則 accepted 該字段的值必須是yes、on、1或true.必填規則 'is_read'=>'accepted' active_url 必須是一個基於PHP函數checkdnsrr 的有效URL, 可以認爲是存在的一個域名

原创 每天自動備份MySQL數據庫的shell腳本

經常備份數據庫是一個好習慣,雖然數據庫損壞或數據丟失的概率很低,但一旦發生這種事情,後悔是沒用的。一般網站或應用的後臺都有備份數據庫的功能按鈕,但需要去手工執行。我們需要一種安全的,每天自動備份的方法。下面的這個shell腳本就是能讓你通

原创 大型網站架構

這裏的大型網站架構只包括高互動性高交互性的數據型大型網站,基於大家衆所周知的原因,我們就不談新聞類和一些依靠HTML靜態化就可以實現的架構了,我們以高負載高數據交換高數據流動性的網站爲例 比如海內,開心網等類似的web2.0系列架構

原创 PHP頁面和Mysql數據庫的轉UTF8編碼問題總結

PHP頁面轉UTF-8編碼問題 1.在代碼開始出加入一行: header("Content-Type: text/html;charset=utf-8"); 2.PHP文件編碼問題 點擊編輯器的菜單:“文件”->“另存爲”,可

原创 系統性能測試及調優

1系統性能定義 性能測試,主要是通過自動化的測試工具模擬多種正常、峯值以及異常負載條件來對系統的各項性能指標進行測試。系統性能主要包括兩個值: 吞吐量(Throughtput),即每秒鐘可以處理的請求數,事務數。 系統延遲(Latency

原创 PHP實現時間軸函數

本文介紹如何用PHP將時間顯示爲“剛剛”、“5分鐘前”、“昨天10:23”等時間軸形式,而不是直接顯示具體日期和時間。 本文將介紹如何實現基於時間軸的時間的轉換。 首先我們要明白時間的幾個函數: time():返回當前的 Un

原创 Git工作流指南:Gitflow工作流

  這節介紹的Gitflow工作流借鑑自在nvie的Vincent Driessen。 Gitflow工作流定義了一個圍繞項目發佈的嚴格分支模型。雖然比功能分支工作流複雜幾分,但提供了用於一個健壯的用於管理大型項目的框架。 Gitflo

原创 出現Permission denied的解決辦法

解決的辦法: $ sudo chmod -R 777 某一目錄 其中 -R 是指級聯應用到目錄裏的所有子目錄和文件 777 是所有用戶都擁有最高權限

原创 Nginx訪問控制與參數調優

Nginx作爲高性能web服務器深受廣大開發者喜愛。爲了安全我們要做好Nginx訪問控制,比如允許和禁止某個IP訪問、禁止訪問某個目錄、反爬蟲等。同時可以適當調優配置使Nginx性能更加強悍。 Nginx全局變量 Nginx中有很多的全局

原创 JavaScript根據種子生成隨機數實現方法

在前端開發中,尤其是遊戲開發,經常會用到隨機數,那麼我們會第一時間想到:Math.random,大家略微的看看如下代碼: for (var i= 0; i<10; i++) { document.writeln(Math.random(

原创 PHP 優化

1 字符串 1.1 少用正則表達式 能用PHP內部字符串操作函數的情況下,儘量用他們,不要用正則表達式, 因爲其效率高於正則。 沒得說,正則最耗性能。 str_replace函數要比preg_replace快得多,strtr函數又比str

原创 Nginx+Php-fpm運行原理詳解

一、代理與反向代理 現實生活中的例子 1、正向代理:訪問google.com 如上圖,因爲google被牆,我們需要vpn翻牆才能訪問google.com。 vpn對於“我們”來說,是可以感知到的(我們連接vpn)vpn對於"goog

原创 PHP實現常用排序算法(含示意動圖)

作爲phper,一般接觸算法的編程不多。 但基本的排序算法還是應該掌握。 畢竟算法作爲程序的核心,算法的好壞決定了程序的質量。 本文將依次介紹一些常用的排序算法,以及PHP實現。 1 快速排序 快速排序是由東尼·霍爾發展的一種排序算法。

原创 JavaScript字符串加密解密函數

Javascript默認沒有編加密解密函數,需要手動編寫。 如下是完整的字符串加解密函數,用到charCodeAt()、fromCharCode()和encodeURIComponent()函數。 先上代碼,三個函數說明請看後面。 /*