Let’s encrypt Wildcard 萬用字元憑證安裝

Posted by – July 7, 2019

自從 Let's encrypt 在 2018 年 3 月推出萬用字元憑證後,就一直想把自己的網域全部換上好棒棒的加密憑證。不過事與願違的就是總是忙忙忙忙忙,很少有能靜下來的時間。

不過實際上在電子前鋒基金會 (EFF) 推出 certbot 後,要佈署或更新 Let's encrypt 憑證的複雜度已經大幅度地簡化了,剩下的就是自己何時能衝一波完成升級的願望。

More

Linux 刪除所有檔案和隱藏檔案

Posted by – February 26, 2019

都寫另一個部落格 what30,很久沒更新這邊,都快荒廢了。

來記錄一下如何在 Linux 下用指令刪除所有檔案與隱藏檔,一個超簡單但實用的用法。

ls -A1 | xargs rm -rf

-A 是列出所有的檔案,除了 . 與 .. 以外

Error: No available formula with the name “homebrew/php/php71” 解決辦法

Posted by – October 22, 2018

這個問題大概是某次更新 homebrew 後出現的,因為筆電還有 MAMP  可以開發,沒急著解決問題。

今天剛好看到解法,記錄一下。

出現的情況是在 macOS 打開 terminal 時會看到以下訊息

Error: No available formula with the name "homebrew/php/php71"
Please tap it and then try again: brew tap homebrew/php

 原因是 homebrew/php 這個名稱已經棄用了,修改 ~/.zshrc 這個文件

刪除這一行即可

export PATH="$(brew --prefix homebrew/php/php71)/bin:$PATH:~/run"

在 Python 中偵測執行環境版本

Posted by – January 20, 2018

一直很想好好學 Python。不過這事已經放在心上兩年了吧
最近這陣子工作比較空閒, 才開始摸索 Python 3 的旅程。

在 setup 開始環境的時候有點好奇自己在 vscode 裡面跑 task 時是用 Mac 內建的 2.7 還是我用 Homebrew 安裝的 3.6,才有了這個題目。

一樣是來自 Stack Overflow 的解答,稍做筆記。

第一種方法如下

import platform

print(platform.python_version())

輸出的結果

3.6.3


第二種方法如下

import sys

print(sys.version_info)
print(sys.version_info[0]) # 輸出大版號
print(sys.version_info[1]) # 輸出次版號
print(sys.version_info[2]) # 輸出微版號

輸出的結果

sys.version_info(major=3, minor=6, micro=4, releaselevel='final', serial=0)

 

Mac terminal ssh 到 Linux 時,出現 cannot change locale (UTF-8) 訊息

Posted by – December 27, 2017

每回從 Mac terminal 登入到 CentOS,一登入就會看到以下的訊息
雖然沒什麼問題,就覺得有點不完美

testuser@localhost ~ $ ssh_linux
Last login: Wed Dec 27 23:22:50 2016 from 10.28.28.39
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

tl;dr

登入 CentOS 後,改個檔案再重登即可

vi /etc/environment

add these lines...

LANG=en_US.utf-8
LC_ALL=en_US.utf-8

詳細的發生原因可以看這篇 [Mac] SSH 到 Linux 機器時,出現 cannot change locale (UTF-8) 訊息

VS Code 啟用 Emmet 對 Blade 模版的支援

Posted by – December 18, 2017

數個月前拜讀了 為什麼我從 Sublime Text 跳槽 Visual Studio Code? 後,我也試著將日常的開發工作改用 vscode 進行,剛開始還蠻不習慣的,總是同時開著 sublime text 和 vscode,輪著操作。

隨著 vscode 快速迭代,效能與功能進步神速,sublime text 也就越來越少使用了。

最近又有了在 Laravel 底下寫 HTML 的需求。

blade 編寫畫面本身不是什麼困難的事。但是 emmet 在寫 blade 時沒作用還蠻困擾的,一直敲 < /> 令人心煩。

retrieved from https://code.visualstudio.com/blogs/2017/08/07/emmet-2.0

好在家,vscode 1.15 後終於可以啟用 Emmet for Blade,只要在 Setting 加上以下兩組設定即可啟用

"emmet.includeLanguages": {
    "blade": "html"
},
"emmet.triggerExpansionOnTab": true,

 

 

MAMP MySQL 啟動失敗

Posted by – October 7, 2017

原本好好的 MySQL 突然啟動失敗....

我知道現在比較流行 Docker,不過我還有很多舊專案放在 MAMP 裡,也是要維護一下的。

這 MySQL 無法啟動這問題毫無頭緒,還在思考怎麼查 log 時就 google 到解法了

刪除 MAMP/db/mysql56 下的 ib_logfile*

我看我的資料夾有 ib_logfile0 和 ib_logfile1 兩個檔案,刪掉再重啟 MAMP 就正常了

Laravel 4.x WhoopsDisplayer::display() must be an instance of Exception

Posted by – September 28, 2017

有個用 Laravel 4.2 開發的舊專案,近來經常遇到下面這個錯誤

PHP Fatal error: Uncaught TypeError: 
Argument 1 passed to Illuminate\Exception\WhoopsDisplayer::display() 
must be an instance of Exception, instance of ParseError given

找了許多討論都提到是 Laravel 4.x 與 PHP 7 不相容的關係。但我的開發環境有 PHP 5.6 和 PHP 7,似乎前者也有機會發生,十分不解。

每當發生這個 Error 就不會看到真正的 Exception 訊息,debug 十分困擾。

Stackoverflow 上找到一個應急用的解法,可以用在開發環境上....

app/config/local/app.php 的檔案開頭加兩行

set_error_handler(null);
set_exception_handler(null);

暫時搞定了...

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