Tag: PHP

PHP mail() 設定 Return-Path

在 PHP 上使用 mail() 發送電郵,如果沒有正確設定 Return-Path, 發出的郵件會使用系統的主機名稱,例如 [email protected], 以下是程式碼:在收到的郵件會看到寄件者是 [email protected], 但當按下回覆時,會使用系統的主機名稱,除了回覆地址名,也會有部郵 email server 拒收,會在 email server 的紀錄檔出現 “invalid sender MX”。 原因是郵件的 Return-Path 並沒有使用 PHP 的 Return-Path 設定,郵件的 source 可以看到:Return-Path: Delivered-To: …

vim 把 Tab 轉換為 4 Space

以前習慣用 Tab 來做縮排,在用 Sublime Text 沒什麼關係,Tab 跟 4 個空格的長度一致,但近年經常用 vim 直接在 CLI 寫程式,當程式需要多層判斷式或迴圈時,很多時在終端機會看得很辛苦,因為在 vim 顯示 Tab 會比 4 個空格的距離還長。所以還是用 4 個空格取代 Tab 較方便,以下是在 vim 及 Sublime Text 按下 Tab 鍵時,自動用 …

JavaScript 搜尋並取代字串

在 JavaScript 做搜尋並取代字串可以用 replace() 來做, 例如:上面的 string 變數是 “Hello Microsoft!”, 而變數 result 會變成 “Hello Linux!”以上做法很簡單, 但最大的問題是, 只會取代第一個符合條件的字串, 例如:上面只會將第一個 “Microsoft” 取代為 “Linux”, 第二個不會取代, 要將全部字串取代, 可以用 regular expression 做, 有以下兩種寫法可以用:方法一: 方法二:以上兩種寫法都會將字串內所有 “Microsoft” …

PHP 查詢 IP 所屬國家

要查詢 IP 所屬國家, 一般上會用 IP 資料庫查詢, 網上也有一些網站可以免費查詢, 但如果想在自己的 PHP 程式, 查詢 IP 所屬國家, 便需要下載一些 IP 轉國家的資料庫, 有付費及免費。另一個較簡單方便的做法, 是使用 API 查詢, 以下會示範使用 freegeoip.net 的免費服務查詢 IP 所屬國家的方法。freegeoip.net 把供 CSV, XML 及 JSON …

解決 PHP 錯誤 – Allowed memory size exhausted

PHP 其中一個常見的錯誤 “Allowed memory size exhausted”,這是由於執行的 PHP 程式使用的記憶體超出 PHP 設定的限制,要解決可以很簡單地修改 php.ini 檔案內的 memory_limit 選項即可。首先開啟 php.ini,在 RHEL 及 CentOS 用 yum 安裝的 PHP,預設路徑是 /etc/php.ini: # vi /etc/php.ini 找到 “memory_limit” 的一行,將原來的 128M …

CentOS 7 安裝 phpMyAdmin

phpMyAdmin 是十分流行的 MySQL 資料庫管理系統,可以透過網頁介面管理 MySQL 資料庫,提供建立、編輯、刪除資料庫及資料表,也可以管理使用者及其權限。以下文章會介紹在 RHEL, CentOS 用 yum 安裝 phpMyAdmin 的方法。在安裝 phpMyAdmin 前,需要先系統安裝好 Apache, PHP 及 MySQL (MariaDB),確定安裝好後便可以開始進行安裝。1. 加入 EPEL Repository 在 CentOS 預設的 Repository 沒有包含 phpMyAdmin,要用 yum …

Ubuntu 安裝 PHP 7.0 及 PHP 7.1

目前 PHP 最近版本是 7.1, 以下文會介紹透過 ondrej/php 的 PPA 安裝 PHP 7.0 及 7.1 的方法, 以下方法適用於 Ubuntu 16.10, 16.04 及 14.04.首先執行以下指令加入 ondrej/php 的 PPA: $ sudo apt-get install python-software-properties $ sudo …

查詢已安裝的 MySQL / MariaDB 版本

由於各個 MySQL 的版本都略有不同,而且又有 MaridDB 或 Percona 等分支版本, 很多時系統管理員都需要查詢系統內的 MySQL 版本,要查詢系統內的 MySQL 版本,以下列出幾種查詢 MySQL 版本的方法。CLI在 CLI 查詢 MySQL 版本十分簡單,用 mysql 指令便可以, 而且不用登入 MySQL: $ mysql -V 執行後會輸出 MySQL 的版本, 以下是在 CentOS …

查詢已安裝的 PHP 版本

由於 PHP 各版本的寫法都略有不同,很多時都需要查詢系統內的 PHP 版本,或者系統管理員也有時會需要檢查 PHP 版本,要查詢系統內的 PHP,分別可以用 PHP 程式或者 CLI 指令模式完成,以下分別看一看幾種不同方法。CLI在 CLI 查詢 PHP 版本十分簡單,用 php 指令便可以: $ php –version 或 $ php-cgi –version 執行後會有類似的輸出: PHP 5.4.16 (cli) (built: …