原创 php在linux下call to undefined function imagettftext()

imagettftext和imagefttext兩個函數在生成驗證碼或需要向圖片寫入文字時候常用,在linux環境下只開啓gd庫是不夠的。這兩個函數均需要 FreeType 庫支持,在函數文檔中也可以找到所以當發現調用時報錯提示函數不存在,

原创 varnish4配置手動清除緩存

varnish4清楚緩存方法主要有,通過varnishadm 管理,或vcl配置。其中vcl配置可以讓客戶端手動請求清楚緩存,以保證局部數據及時更新,而不用重啓varnish服務器。配置方法:#允許清除緩存IP集 acl purge_ip{

原创 js浮點數計算

由於二進制精度影響,JS在計算浮點數時容易造成偏差,而這個問題在很多程序語言中都存在,所以部分程序語言專門提供了高精度函數,爲的就是解決浮點數據計算。JS 中貌似還沒有出現這類函數庫,因此在浮點數計算中,很容易出現精度問題,當然JS是弱類型

原创 移動端audio音頻播放兼容方案

現在很多移動端要求audio播放必需由用戶的事件觸發,否則就劫持。實際應用中經常會出現JS網絡請求通過返回的結果來決定播放什麼音頻,在移動端是不允許的。當移動需要通過網絡請求回調來播放音頻時,就得做點準備工作,具體代碼如下:加載準備處理/*

原创 php使用GD庫合併簡單圖片並變動部分顏色

最近看到很多大公司都開始做寵物鍊形式多樣化,最特別的是寵物分有多種部位然後再不同組合並生成出對應的寵物圖片,看起來比較高大尚,不過發現有些是使用SVG矢量圖片,這類圖片理論上無失真可以隨意放大性能略受影響,編輯方便容易調整,但操作麻煩,如果

原创 PHP開啓多線程擴展

php從5.3開始支持多線程pthreads擴展,並同時支持window和linux。pthreads可以實現多任務同步或異步執行,它提供了創建多線程應用所需的全套工具,默認未安裝。安裝window系統下:http://windows.ph

原创 laravel5異常及時通知

項目上線後,都會使用一些異常監控,當然很多時候監控是有限制的,比如要監控PHP異常,類似這種一般都在輸出人性化內容而不是直接輸出錯誤內容,很多時候需要捕捉這類異常來進行代碼調整。當然也可以定期去查看日誌。laravel5支持自定義異常處理,

原创 laravel5發送ssl郵箱問題

laravel5已經有很好的郵件發送功能,但都是常規 tls 不加密協議,現在有的雲服務器已經慢慢禁止使用不加密協議,要求使用ssl加密協議;如阿里雲新購買的服務器都開始禁止。由於laravel5默認使用的是 swiftmailer 擴展。

原创 varnish配置語法(應用)

varnish配置主要分爲:後端配置,ACL配置,probes配置,directors配置,核心子程序配置幾大塊。其中後端配置是必要的,在多臺服務器中還會用到directors配置,核心子程序配置。後端配置:即給varnish添加反代服務器

原创 基於RBAC權限管理

一般web系統操作人員多時都會需求權限管理,一來限制操作範圍,二來限制數據公開度。現在最流行的一個模式爲 RBAC (Role-Based Access Control) 基於角色的訪問控制。設定權限範圍定義到角色中,然後再分配到每個用戶。

原创 linux中設備上沒有空間

在linux中設備空間有兩個條件決定的:硬盤容量 和 inode硬盤容量即硬盤可用容量inode 即索引節點編號(記錄文件的大小,傭有者,權限,區塊地方等信息可以通過 stat 命令查看),每個分區中都會有固定大小的inode容量,每個in

原创 laravel5下多環境.env配置

laravel5已經設計了環境管理功能:使用HTTP時只需要在apache或nginx中添加APP_ENV=環境名  即可(當然比較麻煩,每個服務器環境都需要配置),如果使用artisan 命令行方式只需要在命令中追加參數 --env=環境