Tag: Debian & Ubuntu
很多情況需要在 CLI 下執行 PHP, 例如要執行 /root/my-script.php, 只要執行以下指令便可以: # php /root/my-script.php 在預設的情況下, 執行以上 PHP script 時, 會跟著預設的 php.ini 有著相同的設定。在 Apache 還好, 可以用 php_admin_flag 設定個別 VirtualHost, 但在 CLI 就不可以用 php_admin_flag 設定了。 …
Linux 預設的記憶體管理會自動釋放記憶體的 cache memory。跟 Windows 不同, Linux 開啟一段時間後, 即使關閉了一些 process, 用 top 或 free 指令查看記憶體的使用狀況時, 都是只剩下不足 1% 的可用空間, 實際上只是 cache memory 佔用了記憶體空間, 而 Kernel 會在 process 需要使用記憶體時, 自動釋放 cache …
本站另一篇文章 修改 MySQL / MariaDB 資料庫儲存目錄 介紹了修改 MySQL 的資料庫目錄, 方法是透過修改 my.cnf 檔案裡面的 “datadir” 參數達成。如果不想修改 my.cnf 檔案, 可以透過建立 Symlink (連結檔) 的方法實現, 以下是設定步驟, 適用於 MySQL 及 MariaDB。 首先停止執行 MySQL / MariaDB: …
.htaccess 檔案是目錄層面的設定檔, 可以對目錄變更 Apache 的設定, 例如更改 DocumentIndex, 轉址及密碼保護等在 httpd.conf 的設定。 要使用 .htaccess 檔案, 需要在 Apache 的設定檔 (httpd.conf 或 apache2.conf) 開啟使用, 否則 Apache 是不會處理 .htaccess 的設定的。 開啟 .htaccess, 首先開檔 Apache …
檔案內的字串進行搜尋及取代很多時都會用到, 在 Linux 下有很多方法實現, 而 sed 進行字串的搜索並取代十分方便, 因為 sed 是內建的指令, 也支援 regex, 即使放在 Shell Script 也可以。以下列出一些 sed 取代字串的常用例子: 將檔案 filename.txt 內的 abc 取代為 “xyz”: /linux/sed-search-replace/ $ sed -i ‘s/abc/xyz/g’ …
Linux 的 cp 指令用作複製檔案, 而 cp 指令其中一個參數 -f 是 force 強制的意思, 即是當目標檔案存在時, 不會詢問使用者, 而會強制把檔案覆蓋已經存在的目標檔案, 而用 “man cp” 有完整的解釋: -f, –force if an existing destination file cannot be opened, remove …
scp 的全寫是 “secure copy”, 即安全複制。Linux 下的 cp 指令主要用作本機複製檔案及目錄, scp 的作用差不多, 主要分別是 scp 輸入的檔案來源或檔案目的地可以是遠端電腦, 而且是透過 ssh 將資料加密再複製。 先看看以下簡單例子, 以下 scp 指令會將 /var/www/html/images/ 目錄下所有檔案, 複製到 remote_host 裡面的 /home/phpini/images/ 目錄: $ scp …
在 Shell Script 要檢查檔案內容是否空白, 可以用 find 指令, 或者用 -s 參數檢查, -s 會在檢檔檔案存在及檔案體積大於 0 時, 回傳 TRUE, 否則回傳 FALSE. find 指令 find 指令只要加上 -empty 參數, 就可以找出空白檔案, 例如要檢查 /home/phpini/tmp_file 是否空白檔案, 可以這樣做: …
在 Linux 安裝體一般會用編譯原始碼, 或者 yum 及 apt-get 這類套件管理工具安裝。剛學習 Linux 時, 很多套件都愛自行編譯, 當時還是 PHP3 的年代, 下載 Apache, PHP, MySQL 及相關套件的原始碼編譯, 就連 Linux 核心都要自己編譯才覺得覺得舒服, 打造出一套 LAMP 環境就自以為很了不起, 其實這感覺只是自 high, 一直到生產環境的伺服器都是這樣。 起初運作是沒有甚麼問題的, …
在 Ubuntu 或 Mint 用 apt-get 指令安裝套件時, 可能會遇到出現以下錯誤的情況: E: Could not get lock /var/lib/dpkg/lock – open (11: Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg), is …