使用 Socket 發送電子郵件 (七):SMTP 協議實作核心流程
前言 透過 PHP Socket 直接與 SMTP 伺服器對話發送郵件,不依賴 mail() 函數,可支援認證、SSL 等進階功能。本文展示核心發送流程程式碼。
利用 MySQL 內建複寫優化可用性 (二):配置主伺服器
第一步:配置主伺服器 建立複寫帳號 (僅需 FILE 權限): GRANT FILE ON *.* TO replicate@10.1.1.2 IDENTIF
利用 MySQL 內建複寫優化可用性 (一):架構概觀與需求
前言 Soundbreak 需 24/7 播放串流媒體,MySQL 新增的複寫功能可維持備份資料庫同步,主機故障時切換至備機服務查詢。本系列詳細討論雙機複寫配置
利用 MySQL 內建複寫優化可用性 (三):配置備機與單向複寫
第二步:配置備機 停止備機 mysqld。 將主機拷貝的資料庫目錄移至備機 data 目錄,修正擁有者/群組為 mysql 用戶,檔案權限 660、目錄 77
利用 MySQL 內建複寫優化可用性 (四):建立雙向主從關係
建立互為主從 (雙主) 架構 單向複寫僅能在主機故障時切換讀取,無法將備機期間的寫入同步回主機。需建立雙向複寫。 步驟 備機 (B) 啟用二進制日誌:在 m
利用 MySQL 內建複寫優化可用性 (五):修改資料庫連線程式支援主備切換
基本雙機連線函數 建立主備關系後,需修改連線程式優先嘗試主機,失敗則轉備機。 <?php function db_connect() { $us
利用 MySQL 內建複寫優化可用性 (六):改進的資料庫連線函數
改進連線函數:支援逾時與雙機切換 原生 mysql_connect 無逾時參數,若主機掛掉會長時間阻塞。改用 fsockopen 先測試連接埠再連線,並可設定逾
利用 MySQL 內建複寫優化可用性 (七):結論與建議
結論與建議 確保完整資料快照:遺漏任何表或資料庫會導致備機執行緒停止。快照時刻關鍵:必須在啟用二進制日誌前完成拷貝。若先啟用日誌再拷貝,備機重放時可能因主鍵重
PHP Session 進階函數補充 (三):自訂儲存處理器完整實作範例
前言 承接前文,提供一個最基本的檔案式 Session 儲存處理器實作 (類似內建 files 模式),可作為資料庫儲存的基礎範本。 配置前置條件 php.
PHP Session 進階函數補充 (一):session_unset 與 session_unregister 差異
前言 PHP 4 中幾個易混淆的 Session 函數:session_unset、session_unregister、session_destroy,本文釐
PHP Session 進階函數補充 (二):Cookie 參數與自訂儲存處理器
前言 PHP 4 提供數個較少被注意的 Session 相關函數,本文介紹 Cookie 參數讀取/設定與自訂儲存處理器。 session_get_cooki
PHP 程式設計除錯指南:常見錯誤與對策
前言 PHP 以簡單易用著稱,但自動建立變數特性也帶來隱患。本文整理語法錯誤、執行錯誤、邏輯錯誤三大類常見問題及除錯技巧。 1. 分號遺漏 PHP 每行敘述必
PHP 輸出緩衝 (Output Buffer) 函數妙用
前言 PHP 中許多函數直接輸出 (如 passthru(), readfile(), var_dump()),若想攔截輸出存入變數、寫入檔案或經處理後再輸出,
無 MySQL 支援時的替代方案:檔案式資料儲存
前言 虛擬主機未提供 MySQL 或限制嚴格時,可利用 PHP 強大的檔案處理功能,以結構化文字檔模擬簡易資料庫。 資料結構設計 以留言板為例,主索引檔 in
Windows 下以 Apache 伺服器配置 PHP 與 CGI 環境
前言 個人站長常需在 Windows 本機架設 Apache + PHP + Perl CGI 環境進行開發測試。本文整理安裝與配置步驟。 一、Apache
玩轉虛擬域名:實作 username@domain 服務
前言 許多網站提供 username@domain 形式的虛擬域名服務 (如 bbs@zphp.com)。本文揭露實作原理:利用 HTTP 1.1 認證語法 u
MySQL 資料庫結構與資料匯出入完整指南 (mysqldump)
前言 mysqldump 是 MySQL 官方備份工具,可匯出結構、資料或兩者兼備,支援多種格式與過濾選項。 基本語法 mysqldump [選項] 資料庫名
PHP 操作 MySQL 必須注意的關鍵問題
前言 PHP 與 MySQL 結合開發時,有幾個容易被忽略卻關鍵的細節,本文整理四大類常見問題。 1. 分號的例外 MySQL 指令以分號結尾,但嵌入 PH