發表文章

CodeIgniter4 Migration 設定檔說明

Migration 是一個你如果要持續更新已經在使用的系統資料庫結構時一個好的選擇,至少他可以不用讓你一直需要記得到時候上線前要怎麼佈署你的資料庫結構。因為你不是進到資料庫軟體中編輯也不是一個指令一個指令打進去的,而是你每一次的更新是寫一個程式去更動結構,當你轉移機器的時候 Migration 就會自動幫你把還沒執行過的指令執行。這樣機器的資料庫結構就會相同。

線上頭像產生器

圖片
我們在開發網站的時候需要一些看起來像真的的假資料,有些時候甚至需要每個會員的大頭照。這個站可以幫上一點忙。  https://multiavatar.com/ 他可以線上亂數產生出一張又一張的大頭貼,你可以選擇下載或是直接拿線上連結都可以。這樣我們要產生多少的會員資料都不是難事了!

CodeIgniter3 紀錄錯誤訊息

我們在做服務的時候在推出到正式機後會需要把錯誤訊息關掉,但是我們仍然需要知道到底正式機發生什麼事情了,這時候我們就需要把 log 記錄下來。 apache 裡面當然有已經可以紀錄的功能了,但是其實 CodeIgniter 有內建這樣的功能。讓我們來試試看吧!

php 寄送 email [SendGrid] 介紹

圖片
 我們在寄送 email 的時候要自己做一個  SMTP Server 超麻煩,而且還不一定會正常讓使用者收到,常常都會遇到擋信的問題,那我們如果要用 email 進行重要的行為,例如訂單的確認信或是註冊帳號的通知就會有影響了 現在要介紹的這個 SendGrid 就是一個第三方的發信服務,有很多的發信服務都有提供 php sdk 也有免費額度,為什麼我要特地介紹這個呢? 1. 有直接在 azure 上可以設定 2. 每月免費額度高達 25,000 (用得了超過這個數字,麻煩甘願一點付錢好嗎) 首先我們在 azure 後台上新增資源 搜尋 SendGrid 接著按照步驟一步一步走完即可 對!我不想寫過程了 單純填表格填一填就好 需要注意的是 1. 他的 php sdk 有支援 composer 同時你當然也是可以選擇在 github 直接下載進去使用 2. 要記得在 env 中設定你的 api 金鑰  3. 即便是有金鑰發信端的網頁伺服器還是需要被認證才能使用 認證方式有兩種,一種是認證發信人的 email 正確性,你只要在後台填寫後系統會發驗證信到你剛剛填寫的信箱。這種方式你就是只能拿這個 email 當發信人。 4.接著就可以快樂使用啦 附上sdk 網址 https://github.com/sendgrid/sendgrid-php

CodeIgniter 4 利用 helper 共用變數設定

圖片
CodeIgniter 中要在每個頁面共用變數一直都沒有一個很好的解法,在 CodeIgniter3 中我們可以在 Config 資料夾中建立一個檔案,塞一堆陣列利用 $this->config->item('foo') 來解決。 CodeIgniter4 中該怎麼解決呢? 我們可以利用 helper 的方法來解決: 檔案在 app/Helpers/ 這裡面我們可以建一個檔案,例如: 我們要取用的時候直接呼叫 __classlist() 就可以取出這個陣列了。 這樣做的好處呢,就是我們可以在這個 function 裡面加上一些語法而不是死板板的參數設定。在使用上會更有彈性喔

Certbot Let's Encrypt 快速發行證書套件 Centos版

我們之前有提到過可以用  Let`s Encrypt 得到免費憑證 。雖然也是很方便,但是現在已經可以用 yum 快速安裝摟。這個軟體叫做certbot certbot 基本上是沒有在預設的儲存庫中所以我們要先抓取回來 step1 sudo dnf install epel-release sudo dnf install certbot python3-certbot-apache mod_ssl 在上面出現紅字的部分 我們可以看到這是屬於 apache 版本,如果我們是 nginx 可以改用 sudo dnf install certbot python3-certbot-nginx  mod_ssl 直接可以執行摟 step2 sudo certbot 記得每三個月要更新憑證 certbot renew --dry-run

php 校正不必要或是錯誤的 html 格式 tidy

我們在做編輯後台的時候會開放讓使用者貼上自己想要的格式,但是很不幸的,大部分的情況下使用者都會從很奇怪的編輯軟體貼過來。 這時候如果遇到瀏覽器無法解析的時候就會變成原始碼被印在葉面上。或是整個大跑版。 php 其實就有 tidy 模組可以使用,他可以幫你改寫成正確的html format 通常的環境沒有預先安裝 所以我們先 install sudo yum -y install php-tidy sudo service httpd restart 接著使用也是很簡單 $config["show-body-only"]=true; $html = tidy_repair_string ($str, $config); tidy_repair_string 就可以幫我們校正了,需要注意的是 show-body-only 這如果沒有加 他會回傳整組的 html 包含 head 那些 其他我也不知道要幹嘛的用法