目前位置: 首頁 > php
  • php-fpm 善用 slow log 找到效能瓶頸

    前幾天在替一個客戶進行系統分析,剛好想到之前常使用的 slow log,slow log 可以幫你記錄執行超過時間的工作,這對於檢視效能記錄有非常大的幫助

     

    在 php-fpm 的設定有一項 request_slowlog_timeout 是用來記錄 php 執行後成功 request 的 timeout 時間,只要超過設定值就會記錄在 slow log 上

    閱讀全文
    作者:shazi7804 | 分类:php | 標籤:, , ,
  • 解決方法:PHP APC warn: Unable to allocate memory for pool

    APC 是 php 中用來加速效能的,原理是 cache,其這篇是出現了 log 的錯誤訊息,針對出現的狀況進行解決

     

    閱讀全文
    作者:shazi7804 | 分类:php | 標籤:, ,
  • CentOS 6.7 編譯 php 5.2.17 with php-fpm

    今天收到一個特殊需求,需要建立一個和客戶一模一樣的開發環境,仔細查看了一下,使用的是 php 5.2.17

    在目前的 CentOS 6.7,yum最低都是 5.3.3 版本了,使用 rpm 安裝 5.2.17 的話 atomic 已經不支援下載了,最好的方式還是採用 compiler 的方式來安裝

     

    本篇是記錄 nginx + php5.2.17 + php-fpm5.2.17 的安裝方式

     

    由於在嘗試測試需要的相關套件,索性寫成 script 來進行編譯,免得需要加載其他套件時的作業麻煩

    閱讀全文
    作者:shazi7804 | 分类:php | 標籤:, ,
  • PHPMailer 用 PHP 發信 & Gmail 申請應用程式密碼

    在 github 上面有一個 PHPMailer 專案,他號稱是目前世界上最潮的 PHP send mail code production,對於編碼的支援度也很好,最重要的是他支援各種驗證機制,這讓很多目前五花八門的驗證方式相容性就提高了許多

     

    Class Features

    Probably the world’s most popular code for sending email from PHP!
    Used by many open-source projects: WordPress, Drupal, 1CRM, SugarCRM, Yii, Joomla! and many more
    Integrated SMTP support – send without a local mail server
    Send emails with multiple TOs, CCs, BCCs and REPLY-TOs
    Multipart/alternative emails for mail clients that do not read HTML email
    Support for UTF-8 content and 8bit, base64, binary, and quoted-printable encodings
    SMTP authentication with LOGIN, PLAIN, NTLM, CRAM-MD5 and Google’s XOAUTH2 mechanisms over SSL and TLS transports
    Error messages in 47 languages!
    DKIM and S/MIME signing support
    Compatible with PHP 5.0 and later
    Much more!

    閱讀全文
    作者:shazi7804 | 分类:php | 標籤:, , ,
  • PHP timezone = PRC , ROC

    最近在操作一台主機在 php.ini 的 timezone 看到設定為 date.timezone = PRC   平常我們在設定可能都是使用 Asia/Shanghai , Asia/Taipei 這樣類型的方式   基於好奇去抓了 PHP source code 於 ext/date/lib/timezonemap.h 裡面找到 timezone 的代碼 { “cst”, 0, 28800, “Asia/Shanghai ...

    閱讀全文
    作者:shazi7804 | 分类:php | 標籤:, , ,
  • 驗證對外 IP 不求人,架設自己的 myip 網站

    一個系統工程師常常會需要用到 myip 來驗證自己的對外IP,這個動作平常不用,但有需要的時候就會變得很頻繁使用

     

    但是常常遇到常用的 myip 網站無法使用或者是在沒有外網的環境下使用,這時候不如就自己架一個 myip 網站

     

    myip 實際上的運用很廣,又非常簡單,只要使用 php + curl 就可以達到 Server / Client 的功能!

     

    *** 2016/07/23 更新:由於本篇採用的是 client header 去判斷使用者的 IP,若是要作為記錄操作資訊的話切勿使用這種方式,因為 client header 是可以輕易遭到竄改,正確的作法;如何正確的取得使用者 IP?,提到將可能的 header 存入資料庫並且先行過濾篩選或者使用 Prepared Statement 儲存。

     

    任何從客戶端取得的資料都是不可信任的!

     

    參考的 HTTP Header(依照可能存放真實 IP 的順序)

    • HTTP_CLIENT_IP
    • HTTP_X_FORWARDED_FOR
    • HTTP_X_FORWARDED
    • HTTP_X_CLUSTER_CLIENT_IP
    • HTTP_FORWARDED_FOR
    • HTTP_FORWARDED
    • REMOTE_ADDR (真實 IP 或是 Proxy IP)
    • HTTP_VIA (參考經過的 Proxy)
    閱讀全文
    作者:shazi7804 | 分类:Nginx, Other, php | 標籤:,
  • php 短標籤縮寫 short_open_tag

    今天在執行任務的時候一位 RD 的 php 程式沒辦法正常顯示,由於得知狀況是某些 php 無法正常執行。   後來確認問題的狀況都發生在 <? — ?> 之間的程式碼,另一位有經驗的 RD 立馬發覺應該是有使用到 php 縮寫   在 php.ini 有一項設定可以使用短標籤縮寫   Shell ...

    閱讀全文
    作者:shazi7804 | 分类:php | 標籤:, , ,