Category: Operating system

CentOS 7 安裝、升級 PHP 5.6

Posted by – September 16, 2017

轉眼間當年幫客戶架設的 server 也好幾年了。隨著程式碼的迭代,server 也到了不得不更新的時候了。不過目標沒有很遠,只要把 PHP 5.4 升到 5.6 就可以了。

把升級的過程筆記一下

首先是更新 EPEL 庫

yum install epel-release

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

接著更新 Remi 庫

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

檢查系統安裝了哪些和 PHP 相關的套件

rpm -qa | grep php

要升級的話要先移除舊套件。因為 PHP 版更,相關的 extension 都要換成相對應的版本才行。注意以下指令可能也會把 phpmyadmin 一起移除

yum remove php-*

啟用 Remi 庫,用編輯器打開以下檔案

/etc/yum.repos.d/remi.repo

找到這一段... 把 enabled 設為 1

[remi-php56]
name=Les RPM de remi de PHP 5.6 pour Enterprise Linux 6 - $basearch
#baseurl=http://rpms.famillecollet.com/enterprise/6/php56/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/6/php56/mirror
# WARNING: If you enable this repository, you must also enable "remi"
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

接著安裝 PHP 套件們

yum install --enablerepo=remi,remi-php70 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt php-mysql

安裝完成後重啟 httpd service 即可

要注意的是 php.ini 會被洗掉哦

HoRNDIS ~ 讓 Android 在 MAC OS 上也能共用 USB 網路

Posted by – August 2, 2017

最近偶然把 iPhone 插上 Macbook 才注意到原來用 USB 連線就可以讓筆電上網... 我之前都是開 WIFI hotspot 功能上網,這方法相對耗電許多.... 😓

More

Using sftp on a non-standard port

Posted by – November 12, 2016

平常還蠻常用到 linux / mac 的 ftp, ssh 指令。今天有個 case 是要用 sftp 指令連去廠商的主機,雖然有用過這個指令,卻不知道怎麼指令 port…

一查才發現這用法跟其他指令差異還真大。

sftp -o "Port 3432" user@example.com

要用 -o 設定參數,筆記一下。

更新 Let’s Encrypt 憑證

Posted by – February 19, 2016

先隨手筆記一下,幾個月前在自己的主機上安裝了 Let's Encrypt 的 SSL 憑證。他們家的憑證每隔一陣子就要 update 一次。

Let’s-Encrypt

紀錄一下更新的步驟:

$ service httpd stop # 停用原本的 http server

$ cd /xxx # 切換到 lets encrypt 所在的路徑

$ ./letsencrypt-auto certonly -t -d your.domain.com -m user@email.com --renew-by-default --agree-tos --agree-dev-preview

紅字部分請自行取代。如果有出現以下訊息,可以輸入 2

How would you like to authenticate with the Let's Encrypt CA?
-------------------------------------------------------------------------------
1: Apache Web Server - Alpha (apache)
2: Automatically use a temporary webserver (standalone)
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

跑完後記得重啟 http server,收工。

Mac OS El Capitan 10.11 開啟第三方 SSD Trim 功能

Posted by – February 19, 2016

因為幫 Mac mini 換裝了 SSD 硬碟,就會需要幫它啟動 TRIM 的設定。至於 TRIM 是什麼,可以參考這篇 OCZ SSD姿勢佳 – 什麼是TRIM指令?

disk-drive-mac-300x289

OS X 從 Yosemite 10.10.4 開始就允許使用者直接啟動 TRIM 的功能而不需要借助第三方軟體來實現,所以不必安裝軟體,在 terminal 輸入以下指令即可。

sudo trimforce enable

接著輸入管理員密碼,按兩次 y 就會開始進行系統設定。

Screen Shot 2016-02-19 at 11.56.33 PM

要注意的是系統設定完成後會自動重開機,在進行此作業前請先將其他應用都先關閉,以免悲劇。

製作 Mac OS El Capitan 10.11 開機安裝碟

Posted by – February 18, 2016

打算幫家裡那台 mac mini 升級 SSD 而需要做些前置工作,像是先做一顆 USB 安裝碟... 搜尋了一下方案,原來非常簡單啊!!

os_x_el_capitan_roundup More

Laravel: failed to open stream: Too many open files

Posted by – April 24, 2015

Office Worker with Mountain of Paperwork公司的 Team 開發的產品也越來越龐大了,API 的部份依賴 Laravel 內建整合的 PHPUnit 來進行自動化測試。

這回從 git repo 上拉了新的 code 後,照慣例跑一下 phpunit,然後就掛了...

PHP Warning: failed to open stream: Too many open files

好像沒見過這樣的訊息。Google 一下才知道是踩到了 Mac OS 檔案開啟上限的地雷。

$ ulimit -a # 這個指令可以看系統限制
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 256 # 這行
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 709
virtual memory          (kbytes, -v) unlimited

ulimit -n 1024 臨時改為 1024 就可以正常跑完測試了。一時好奇借了同事的電腦看看,都是 Macbook Air (with Yosemite),其他人的 open files 值是 2560 耶,為什麼我的只有 256 ??? 不解。

Change the hostname in Mac OS X

Posted by – September 5, 2014

近期的開發工作是在 Laravel Framework 下進行的,這個 framework 會依系統的 Hostname 來切換環境,在 local 與 production 之間切換,就可以連到不同資料庫之類的設計,這個設計好不好沒什麼感覺,畢竟主要是在 local 下開發。

這個 Hostname 神秘的地方是會因為網路而有差異,這兩天部門的網路有所更動,Hostname 就不一樣,Laravel 碰到不認得的 Hostname 會自動切換回 production,然後就一堆設定掛在那邊 XD

Laravel 的 Hostname 識別可以在 /%laravel_root%/bootstrap/start.php 下設定,但改來改去也挺麻煩的。

 

Mac OS X 修改 Hostname 並不是難事,雖然我並不確定改下去會不會有什麼後遺症...

在 Terminal 下輸入

sudo scutil --set HostName john-macbook-air.local

然後輸入密碼就改完了,不必重開機。

How to override the path of PHP to use the MAMP path?

Posted by – August 4, 2014

最近在學習 Laravel Framework 的使用,現在 PHP 許多 Library、Framework 都改用了 composer.phar 這個套件管理功能。

其中許多管理功能需要在 command line 輸入指令,但是 Mac 其實也有內建 PHP,卻缺了許多常用的套件。

與其去補安裝套件,不如改用 MAMP 的 PHP 還比較省事。

在 ~/.bash_profile 加入以下指令:

export PATH="/Applications/MAMP/bin/php/php5.5.3/bin:$PATH"

這樣使用 PHP 指令就會自動選用 MAMP 下的版本和套件,其中紅字請改為您使用的版號。

‘tree’ command for Mac OSX

Posted by – July 29, 2014

'tree' 這個指令在許多系統中都存在,用途是繪製出目錄的樹狀結構,在寫技術文件時,這個功能非常方便。

不過 Mac OS X 沒有這個功能.... (殘念

搜尋了一下,果然有高手提供的替代方案

find . -print | sed -e 's;[^/]*/;|--;g;s;--|; |;g'

紅色的點可以替換成需要的目錄名稱,點則代表當前目錄。取得的目錄樹長這個樣子

|--assets
| |--bootstrap
| | |--3.1.1
| |--draw.js