1) 安裝 AppServ
2) 安裝成功後你會在AppServ的bin資料夾中照到openssl.exe
3) 在cmd執行以下指令:

openssl req -config C:\AppServ\Apache2.2\conf\openssl.cnf -new -out C:\AppServ\Apache2.2\conf\server.csr -keyout C:\AppServ\Apache2.2\conf\server.pem

openssl rsa -in C:\AppServ\Apache2.2\conf\server.pem -out C:\AppServ\Apache2.2\conf\server.key
openssl x509 -in C:\AppServ\Apache2.2\conf\server.csr -out C:\AppServ\Apache2.2\conf\server.crt -req -signkey C:\AppServ\Apache2.2\conf\server.key -days 365

4) 在 C:\AppServ\Apache2.2\conf\httpd.conf 將
#LoadModule ssl_module modules/mod_ssl.so 的註解去掉
#Include conf/extra/httpd-ssl.conf 的註解去掉

5) 在 C:\AppServ\Apache2.2\conf\extra\httpd-ssl.conf 設定如下:
SSLCertificateFile "C:\AppServ\Apache2.2\conf\server.crt"
SSLCertificateKeyFile "C:\AppServ\Apache2.2\conf\server.key"

6) Window 鍵 + R
7) 輸入 services.msc
8) 重新啟動 Apache Server
9) 在瀏覽器輸入 https://localhost, 成功!

註: 如果PORT 443, 剛好被別的應用程式所使用, APACHE SERVER會重開失敗喔! 要怎麼知道伺服器PORT443 是否被使用? 請參考本篇文章 Windows 如何知道哪個應用程式正在使用哪個PORT?

Google Cloud Platform 開始支援PHP了!
雖然還是在BETA階段, 但還是讓人忍不住要測試一下呀~
這次的測試是使用CodeIgnitor來使用,
結合Google Cloud SQL,
在本機連資料庫MYSQL是沒問題,
但DEPLOY之後發現正式機一直沒辦法連上.
錯誤資訊如下:

A Database Error Occurred
Unable to connect to your database server using the provided settings.
Filename: core/Loader.php
Line Number: 346

查了stackoverflow之後才發現 /application/config/database.php的設定需要微調才能連到資料庫:

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '密碼';
$db['default']['database'] = '資料庫名稱';
$db['default']['dbdriver'] = 'mysqli';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = FALSE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = FALSE;
$db['default']['stricton'] = FALSE;
$db['default']['socket'] = '/cloudsql/PROJECT-ID:INSTANCEID';

最後一行的SOCKET是codeignitor預設沒有的參數,
要記得加上才能成功連線

連線之後, 你會發現網站雖然可以啟動了,
但都沒有資料!怎麼回事呢?
原來是因為他會一直預設連到localhost,
這時必須要修改mysqli的drivers.

到 application/system/database/drivers/mysqli/mysqli_driver.php 將 db_connect 取代成以下的函數:

function db_connect()
{
    if(isset($this->socket)){
        return mysqli_connect(null, $this->username, null, $this->database, null, $this->socket);
    }
    elseif ($this->port != ”)
    {
        return mysqli_connect($this->hostname, $this->username, $this->password, $this->database, $this->port);
    }
    else
    {
        return mysqli_connect($this->hostname, $this->username, $this->password, $this->database);
    }
}

就大功告成拉!