發表文章

目前顯示的是 5月, 2019的文章

在 Mac 上建立自製 Apache 環境

圖片
在 Mac 上建立自製 Apache 環境 筆者心情小語… 當你開心的遛個狗,哼哼小曲沒事想說更新一下心愛的 MAC 突然 Apache 開發環境就被 MAC OS 給狹持了(設定重置)!! 所以說 Apache 開發環境必須獨立! 特別感謝: 給力小夥伴指導我許多 LINUX 與 APACHE 相關設定及觀念。
 為什麼要自製 Apache 環境 MAC OS 更新版本有時都會突然的重置原生 Apache 設定。 特別是此次 OS 10.14 ,連 PHP 外部建置環境都給禁止了!! 若您是使用套件架設環境( MAMP 、 LAMP 、 XMAPP 等…),那您可能不會有太大的感悟。 但若是您用的是 MAC 提供的原生 Apache ,那您可能連做個系統小更新都要小心翼翼的。 此處筆者用 HomeBrew 進行自製 Apache 環境建置。 需求 Mac OS(Linux) 系統電腦一台。 HomeBrew 開始建置吧 關閉 Mac OS 原生的 Apache 並防止他自行啟動 // 關閉 apache $ sudo apachectl stop // 禁止 apache httpd 自動啟動 $ sudo launchctl unload /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null 使用 HomeBrew 安裝 apache $ brew install httpd 通過指令檢查 apache 安裝,路徑應該被更改為 /usr/local/bin/apachectl $ which apachectl 確認啟用指令被改寫後,重啟 apache $ sudo apachectl -k start 設置預設啟用程序 $ sudo brew services start httpd 設置 apache 基礎設定 brew 建置的 Apache 位置為: /usr/local/etc/httpd 編輯 httpd.conf 修改以下項目: Listen 80 ServerName localhost Do...

PHP 上 Elasticsearch 應用

What is Elasticsearch? Elasticsearch 是一套基於 Apache Lucene(TM) 的開源搜尋引擎。無論在開源或專有禮遇,Lucene 被認為至今最先進、性能最好、功能最齊全的搜尋引擎。 不過 Elasticsearch 不僅僅是 Lucene 和全文搜尋,我們還能這樣去描述它: 分佈式的實時文進存儲,每個字段都被索引並可被搜尋。 分佈式的實時分析搜尋引擎。 可拓展至上百台服務器,處理PB級結構化或非結構化數據。 環境建置 第一步安裝 Elasticsearch 環境 安裝 ES 前請先確認 JAVA 環境已建置完成,可至 CMD 下指令 java -version 。 若無可至 JAVA官網 進行安裝及環境建置。 Elasticsearch 安裝有需多不同方式(待補其他方式)。 此處筆者至 Elasticsearch官網 直接下載最新版並解壓縮使用。 檔案包安裝好後由CMD直接進入該專案包下指令喚醒 Elasticsearch bin/elasticsearch 。 請注意喚醒 ES 不可使用 root 身份進行,並確認專案內部分檔案開放該身份存取(logs 等…) 如何確認 ES 是否安裝成功? 可直接使用網頁連結 http://localhost:9200/ 若出現畫面。 { "name" : "BSQmiuK", "cluster_name" : "elasticsearch", "cluster_uuid" : "d6gTLQ0-Svy1WbTWSvKmig", "version" : { "number" : "6.2.4", "build_hash" : "ccec39f", "build_date" : "2018-04-12T20:37:28.497551Z", "build_snapshot" : false, ...

PHP OO 基礎教學

PHP OO 基礎教學 此篇教學只是物件導向的基礎與實作,內容只包含類別與物件的操作,讓不熟悉類別的人可以初識物件導向的好處,並且了解物件與類別的特性與關係。 認識物件導向 Object Oriented: 物件導向是一種寫程式的方式,他傾向讓開發者將類似或有關聯性的工作或屬性組織到 類別(class) 裡面。進而讓程式遵循 不重複原則 don’t repeat yourself (DRY) ,且更容易維護。 “Object-oriented programming is a style of coding that allows developers to group similar tasks into classes.” 一、 認識物件(Object)與類別(Class) - Understanding Objects and Classes 首先,先來了解 物件(Object) 與 類別(Class) 的功能及用途。 類別(Class),可以比喻為一棟建築的設計藍圖,清楚的定義了建築的結構及形狀。 物件(Object),可以比喻為一棟真的房子, 物件是類別的實例化 。 而 資料(Data) 就是房子所需要的材料(如 鋼筋、電線、混泥土)若沒有依照 設計藍圖(類別Class) 來組裝,那材料就僅僅是一堆材料。 但當 材料(資料Data) 依照 設計藍圖(類別Class) 來實作後,那這些 材料(資料Data) 就會變成一個有組織且有用的 房子(物件Object) 類別定義了結構以及行為,並且用這些東西打造物件。當多個物件都是由同一個類別產生出來時,每個物件都是一個獨立的個體,且不相依賴的。 二、建立類別 Class 建立類別的語法很簡單,使用 class 來定義一個類別,然後在類別名稱後面再加上 大括號{} <?php class MyClass { // 類別的屬性與方法要在大括號裡面宣告。 // Class properties and methods go here } 建立類別後,可以使用 new 關鍵字來實例化類別,並存到一個變數上。 $obj = new MyClass(); 使用 var_dump 來查看物件內容。 var_d...