Category: PHP
RHEL 及 CentOS 原來使用 rsyslog 管理記錄檔, 在 RHEL / CentOS 7 開始除了保留了 rsyslog 外, 還加入了 journald。systemd 是一個負責開啟, 停止及監察進程狀態的服務, 所有經 systemd 啟動的服務, systemd 會將包括正常啟動, 啟動或結束時的問題經由 journald 寫入紀錄檔, 而 journalctl 則是用作查看 …
Memcached 是一套開放源碼的分散式記憶體快取系統, 目前已經有多個網站使用。在網站的應用上, 由於資料庫的查詢多數是讀取, Memcached 先將資料庫加以緩存, 那便可以減少資料庫的讀取, 從而增加效率。Memcached 在 PHP 另一個常用的地方是用作緩存 session。下文會示範在 CentOS 7 安裝 Memcached 及 Memcached 的 PHP 模組。 1. 安裝 Memcached 在 RHEL 及 CentOS 十分簡單, …
在網上很多工具可以檢查 IP 所屬國家, 大多數都是付費工具, 免費版 IP 的覆蓋率較低, 及只包含基本國家資訊。 今天介紹的是 IP Geolocation API, 雖然它也有收費版, 但這只適用於商用量用戶, 免費版提供每日 1,000 個查詢, 及不支援 SSL, 其他內容與付費版是一樣的。 使用上十分簡單, 只要用 GET 請取網頁內容就可以, 例如 Google 的 DNS IP …
如果以 UTF-8 編碼的 PHP 網頁在瀏覽器出現亂碼, 一般都是設定錯誤編碼所致, 要解決分別可以透過 HTML 的 meta tag, PHP Header 及 Apache 進行設定, 以下是解決方法: HTML Meta Tag: 在 HTMl 的 及 加入以下這行, 向瀏覽器宣告使用 UTF-8 編碼: PHP …
GitHub 是十分熱門的程式碼儲存平台, 現在 Google 剛剛將它們的雲端程式碼儲存平台 (Cloud Source Repositories) 測試版投入服務, 功能與 GitHub 相約。 測試版免費提供 500MB 空間儲存程式碼。 Cloud Source Repositories are fully-featured Git repositories hosted on Google Cloud Platform. This Beta …
PHP 的 CURL 除了可以傳送 POST 請求外, 還可以用作上傳檔案。方法與傳送 POST 請求差不多, 只要宣告以 multipart/form-data 模式傳送, 以及在傳送的值前面加上 “@” 符號, 後面接著是檔案的絕對路徑, 以下是例子: 上面例子會將 /path/to/file.txt 上傳到 http://localhost/path.php, 上傳欄位名稱是 upload_file.
PHP 要擷取遠端網頁或者傳送 GET 請求可以用 file_get_contents() 函式做, 但如果要發送 POST 請求, 例如自動填寫表單等, 就可以用 CURL 實現。以下 PHP 的 CURL 模組發送 POST 及 GET 的方法: PHP 傳送 GET 請求 如果只是傳送 GET 請求, 用 …
一般 PHP 的上傳檔案方法, 是將上傳的檔案放到暫存目錄, 再複製到指定的目錄, 雖然操作上方便, 但問題是儲存上傳檔案的目錄必需要有寫入權限 (CHMOD 777), 而且不能上傳到遠端伺服器。 要解決以上問題, 我覺得較簡單的方法是用 PHP 內建的 FTP 功能, 例如現時 WordPress 的更新功能, 也是透過 FTP 操作。以下會介紹在 PHP 連接到 FTP 上傳及下載檔案的方法: FTP 下載檔案 FTP …
在安裝了 phpMyAdmin 後, 如果沒有安裝 PHP 的 mbstring 模組, 會在 phpMyAdmin 看到以下錯誤: 找不到PHP內部mbstring編碼模組,沒有這個模組,phpMyAdmin無法準確地分割雙字元文字,而可能產生問題 要解決就要安裝 PHP 的 mbstring 模組, 如果 PHP 是用編譯源碼的方法安裝, 只要重新編譯一次, 在 ./configure 時加入以下參數: –with-mbstring –enable-mbstring=all 如果是用 Yum 或者 …
PHP 要預防 SQL Injection, 可以用 PHP 內建功能實現, 下面分別是 PDO 及 MySQLi 預防方法: PDO: MySQLi: