Ubunto – 安裝 PHP7 + Apache + Mysql/MariaDB + phpMyadmin

切換到 root

第一次需要設定 root 密碼,接著進入 root

另外,若在桌面的話要使用 root 登入可以這麼做

在檔案中加入下面這行

存檔後重新開機,就可以選擇 Login 了。

建議替換倉儲

參考 比較能找到 php 相關較新的版本。

 

建議安裝 aptitude

可以使用

取得較 apt-get 方便的 aptitude,我主要用來查詢 php7 是否存在

因為要查詢套件,無法使用 apt-get 所以要借用 aptitude。如果遇到被鎖定問題,重新新開機 ubuntu 就可以了。或是參考解說

 

安裝 vim

 

MaraiDB 安裝

 

Apache 安裝

到瀏覽器打上 http://localhost 就可以看到 Apache 預設首頁代表安裝成功。接著啟用 mod_reswite 功能,讓伺服器可以讀取 .htaccess 。參考

這時在 phpinfo() 中可以看到 Configuration > apache2handler 的 Loaded Modules 有 mod_rewrite 就代表啟用成功。

找到 DocumentRoot “/var/www/html" 後,修改如

 

另外一種設定

預設網站 http://xxx.com 對應 /var/www/html ,但如果我希望預設 http://xxx.com 網站是讀取 /var/www/html/project 而不是讀取 /var/www/html 那就這麼設定

將 Directory “/var/www/html/" 搬移到外層,代表讓所有 html 底下的都啟用這個 AllowOverride 設定。這可以用在一個網域可能放多個路徑檔案時的指定。例如

  • http://xxx.com 讀取 /var/www/html/project/website
  • http://xxx.com/api 讀取 /var/www/html/project/api

 

 

PHP 安裝

建立第一份 php 測試查看 phpinfo()

網址打 http://localhost/info.php 就可以順利看到 PHP 相關設定資訊。接著安裝相關套件

如果要查詢更多,可以透過 aptitude 查詢可安裝的名稱。若安裝不同的版本號,只需要修改如 php7.x 即可。但確實的名稱建議還是用 search 查詢一下。

接著修改 php.ini

參考這篇修改php.ini

 

啟動SSL支援

 

phpMyadmin 安裝

MaraiDB 預設不讓root登入phpmyadmin,加入這行可解除

修改設定,將 apache 添加 phpmyadmin 設定

參考 在底部加入

修改後重新啟動

網址打上 http://localhost/phpmyadmin/ 就可以看到登入畫面

 

若要透過 FTP 上傳,需要注意權限路徑的問題

 

Sublimetext – 使用 SFTP 設定 Amazon AWS EC2

在左側專案欄 右鍵 > SFTP/STP > Map to Remote… 會自動產生一份新的 sftp-config.json 修改為以下設定

sftp_flags 可以是 pem 或是轉換為 ppk 都可以。

php – 使用 Google Api 登入並取得個人資料

先介紹編碼,申請 API 方式緊接在後。

編碼

參考。這裡使用 composer 自動引入 google/apiclient 介紹。請按照 0 1 2 3 看流程喔!當然可以拆成多頁 PHP,就不用 if … elseif … 啦。

授權範圍可以這麼寫

或是使用這種寫法

 

 

安裝

參考,使用 Google API Client Libraries 提供的 PHP 版本套件登入,並使用 composer 下載

或是 Github 。此處範例以 composer 為介紹。

取得 ID 與 Secret

前往這裡,在左上角建立專案

輸入專案名稱

一開始平臺中沒有 API,所以我們選擇一個要使用的 API

我們挑選 Google+ API

 

然後啟用這項服務

 

啟用憑證

輸入需要的資料

選擇網路應用程式,並填寫重新導向的 URI。這非常重要,因為要告知 API 當認證完畢以後,要回到哪個網頁。下方介紹使用非框架的寫法,所以只有一張 test.php。

可以看到 ID 與密鑰

忘記的時候點選右邊的筆也能查看

申請文以後,就可以開始寫編碼

sass – scss – 管理複雜的 z-index 方法

當圖層一多起來,要管理 z-index 是很麻煩的一件事。但是可以透過這個方法來管理:

依照 z-index 的大小做順序排列

 

然後利用 SASS 的 index() 方法來自動取得 z-index

 

php – Codeigniter – Query Builder Class 快速檢視表

欄位

$this->db->get()
$this->db->get_compiled_select()
$this->db->get_where()

$this->db->select()
$this->db->select_max()
$this->db->select_min()
$this->db->select_avg()
$this->db->select_sum()

從哪個資料表

$this->db->from()
$this->db->join()

條件

$this->db->where()
$this->db->or_where()
$this->db->where_in()
$this->db->or_where_in()
$this->db->where_not_in()
$this->db->or_where_not_in()

$this->db->like()
$this->db->or_like()
$this->db->not_like()
$this->db->or_not_like()

$this->db->group_by()

$this->db->distinct()

$this->db->having()
$this->db->or_having()
$this->db->order_by()

數量

$this->db->limit()
$this->db->count_all_results()
$this->db->count_all()

分組

$this->db->group_start()
$this->db->or_group_start()
$this->db->not_group_start()
$this->db->or_not_group_start()
$this->db->group_end()

新增

$this->db->insert()
$this->db->get_compiled_insert()
$this->db->insert_batch()

修改

$this->db->replace()
$this->db->set()
$this->db->update()

$this->db->update_batch()
$this->db->get_compiled_update()

刪除

$this->db->delete()
$this->db->empty_table()
$this->db->truncate()
$this->db->get_compiled_delete()

緩存

$this->db->start_cache()
$this->db->stop_cache()
$this->db->flush_cache()