Atom Linter-PHPCS – ‘phpcs’ is not recognized as an internal or external command

今日使用Atom 來寫 PHP code是出現以下錯誤信息
‘phpcs’ is not recognized as an internal or external command

Linter-PHPCSAtom Editor的一個 用來檢查 PHP Coding Standard 的Plugin
就像.Net中的StyleCop 差不多
今日在使用時出現了這個問題
Error 'PHPCS' is not recognized as an internal or External Command

解決方法十分簡單
大家可以在AtomSetting->Packages tab上找出 Linter-phpcs package
之後在Settings/ 設定上輸入 PHPCSexecutable path便可以了
Linter-PHPCS Execution Path

Happy Coding

Composer Package Path Windows – Composer Package 儲存在那裡

有些程式需要我們在他的設定檔上加入 Composer 下載/安裝的 Package Path
其實ComposerPackage Path在那裡呢?

在了一會research之後發現他們都在 以下的資料夾入

大家可以開啟任何的資料夾之後貼上以下的路徑 便可以找到這些Package了
Enter Composer Package Path

%APPDATA%\Composer\vendor\bin

或是在

C:\Users\[Username]\AppData\Roaming\Composer\vendor\bin

Composer Package Path
Hope you find it useful

Packer hide Virtual Machine GUI – Packer 如何在建立Virtual Machine時 把介面隱藏

在使用Packer的時候 Virtual Box 自動彈出了他的VirtualBox GUI出來
我們可以看到安裝的過程, 十分有趣
但是亦都有些擾亂自己..
因為無端端多了個Applicationscreen上出現

如果我們不在執行 Packer
彈出Virtual Machine的介面
我們可以在 Packer的 Template 檔案上把 Headless的設定為 True

headless (boolean) – Packer defaults to building VirtualBox virtual machines by launching a GUI that shows the console of the machine being built. When this value is set to true, the machine will start without a console.
E.G.

  "disk_size": "{{user `disk_size`}}",
    "headless": "true",
    "http_directory": "http",

Packer Hide Virtual Machine UI during Build - Headless = true
Hope you find it useful

How to get ISO checksum on Windows

最近開始學習怎樣建立 Vagrant Box
希望係不久既將來可以自己建立一些vagrant box 在公司 或自己用
我們需要使用 Packer [packer.io]這個工具來 建立 vagrant box
其中建立VagrantBox的Template上需要轉入 ISO 和他的CheckSum的資料
主要是用來認證 要安裝的 ISO 檔案沒有損壞先安裝吧

上網做了很多research都是教如何在Linux找出檔案的Checksum..
很小有說Windows可以怎樣做
最後終於找到解決方法了.

大家可以到以下的Microsoft的網頁
https://www.microsoft.com/en-gb/download/details.aspx?id=11533
下載 “Microsoft File Checksum Integrity Verifier
解壓縮後便可以使用Command prompt 來執行
Microsoft File Checksum Integrity Verifier
入面有Readme 檔介紹怎樣使用的

fciv [File Path \ FileName] [hash type e.g. md5 / sha1]

F:\CheckSum>fciv f:\ubuntu-15.10-server-amd64.iso -md5
//
// File Checksum Integrity Verifier version 2.05.
//
fb4eef05edcabfc5cccd4cb44f3f9b48 f:\ubuntu-15.10-server-amd64.iso

Windows File Checksum
Hope you find it useful

Vagrant Error: SSL certificate problem: unable to get local issuer certificate

想不到一開始使用Vagrant便出現問題
還以為可以很簡單地跟著官網的教學來建立我第一個用Vagrant來建立的Virtual Machine
https://www.vagrantup.com/docs/getting-started/
誰不知當我嘗試執行以下指令時

vagrant init hashicorp/precise64
vagrant up

出現了以下的錯誤信息
Vagrant Error: SSL certificate problem: unable to get local issuer certificate

詳情
Vagrant Error: SSL certificate problem: unable to get local issuer certificate

D:\Users\Vagrant\DefaultVagrant>vagrant init hashicorp/precise64
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

D:\Users\Vagrant\DefaultVagrant>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'hashicorp/precise64' could not be found. Attempting to find an
d install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
The box 'hashicorp/precise64' could not be found or
could not be accessed in the remote catalog. If this is a private
box on HashiCorp's Atlas, please verify you're logged in via
`vagrant login`. Also, please double-check the name. The expanded
URL and error message are shown below:

URL: ["https://atlas.hashicorp.com/hashicorp/precise64"]
Error: SSL certificate problem: unable to get local issuer certificate
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

暫時的解決方法十分簡單
我們可以在剛建立的Vagrant資料夾內開啟”Vagrantfile
Vagrantfile
之後加入這句設定來 進行insecure connection

# 把Download 設定來 insecure download 便可以暫時解決 SSl Certification verification的問題了
config.vm.box_download_insecure=true;

Vagrant download insecure
儲存之後再執行

vagrant up

應該便可以起動這個Virtual Machine了

如果大家知道怎樣可以解決 SSL certification verification 的問題
歡迎大家分享

Hope you find it useful

Vagrant 筆記

最近朋友們都問我有沒有用Vagrant
我當然沒有用過..我工作的公司都很小放資源去學新東西
因為最近想自己更新一個 Host這個 Blog
http://sharechiwai.com的 VPS server
最好的方法是 建立一個Virtual Machine來試試
使用Vagrant可以嘗試記下設定
之後寫進Config
將來可以跟著這些Config來建立新的Server
Vagrant - Development Environments made easy

由於我還是Vagrant 新手..
很多概念都可能不正確…
如果發現有不對的話
請更正的的錯誤..

謝謝大家
Hope you find it useful

php convert dd/mm/yyyy to mysql datetime format – PHP 把 dd/mm/yyyy 轉換成 MySQL可用的格式

今天使用PHP 來把一些 XML Data 加入 MySQL 時出現了一些問題
原因是那些 XMLDate Formatdd/mm/yyyy 不能直接轉換成 MySQLDateTime Format

MySQLFormat要是 yyyy/mm/dd
做了一會research 之後終於找到解決方法了

PHP 轉換Date Format的功能是
DateTime::createFromFormat(‘Input Date Format’, $startDate)->format(‘Y-m-d’);

  $startDate = '25/12/2015';
  $startDate = DateTime::createFromFormat('d/m/Y', $startDate)->format('Y-m-d');

Happy Coding