博客 / 詳情

返回

環境搭建

[TOC]

1、介紹

phalcon是一個省內存,運行高效的php的C擴展框架。

phalcon是一款國外的php框架,它和國內的鳥哥開發的yaf框架很像,需要先安裝相關的php擴展,而框架是鬆耦合的,其包含的框架相關的類庫全部藉由php擴展文件注入到php的原生類庫中,所以這個擴展文件可以説就是這個框架。

而如何藉助這個框架開發項目,首先應該組織一些目錄結構和php代碼,像thinkphp,laravel這類非擴展框架一樣,來確定一些固定的代碼執行流程,比如,常量和環境變量定義;配置【db,緩存,文件,路由,等】文件加載,類的自動加載;命名空間註冊,服務類註冊,路由解析等,直到我們可以在控制器裏開始我們的業務代碼。

官方有推薦的目錄結構,當然我們也可以完全用自己的習慣,通過php擴展自帶的類庫,來編寫代碼,組織目錄來完成這一任務,該學習系列以官方推薦為主,主要是學習思想和快速上手使用。

開發環境
phpstudy配置
php7.3.9
nginx1.5.11
mysql8.0
windows10

2、準備

當前流行的版本主要是phalcon3.4phalcon4.0

對php的版本要求最好是7.2以上。

phalcon的擴展依賴於psr擴展,我們最終要下載或者編譯安裝這兩個擴展。

這裏默認,
php的運行環境已經搭建好【建議國產的phpstudy】;
php命令已註冊全局,命令可使用【將php.exe的物理路徑加入系統環境變量PATH】;
composer已安裝,命令可使用【參考composer中文網教程】;
還沒有搭建好的,網上有很多搭建環境的教程參考,不再贅述。

使用phpinfo()查看php的屬性,看其中兩項屬性,其決定了對擴展文件版本下載的要求,window下的擴展文件會帶這兩個屬性;如圖image.png

第一個屬性Architecture是php運行環境的操作系統架構,通常只有64位和32位區分,x64代表64位,x86代表32位,這裏是x64;

第二個屬性PHP Extension Build是php的構建版本,通常只有TS【thread safe】和NTS【none thread safe】的區分,這裏截取網上看到的一位網友的解釋,可以幫助我們理解區別,對錯暫時不能完全判斷,參考看

Windows版的PHP從版本5.2.1開始有Thread Safe(線程安全)和None Thread Safe(NTS,非線程安全)之分,這兩者不同在於何處?到底應該用哪種?這裏做一個簡單的介紹。

從2000年10月20日發佈的第一 個Windows版的PHP3.0.17開始的都是線程安全的版本,這是由於與Linux/Unix系統是採用多進程的工作方式不同的是Windows系 統是採用多線程的工作方式。如果在IIS下以CGI方式運行PHP會非常慢,這是由於CGI模式是建立在多進程的基礎之上的,而非多線程。一般我們會把 PHP配置成以ISAPI的方式來運行,ISAPI是多線程的方式,這樣就快多了。但存在一個問題,很多常用的PHP擴展是以Linux/Unix的多進 程思想來開發的,這些擴展在ISAPI的方式運行時就會出錯搞垮IIS。因此在IIS下CGI模式才是PHP運行的最安全方式,但CGI模式對於每個 HTTP請求都需要重新加載和卸載整個PHP環境,其消耗是巨大的。

為了兼顧IIS下PHP的效率和安全,微軟給出了FastCGI的解 決方案。FastCGI可以讓PHP的進程重複利用而不是每一個新的請求就重開一個進程。同時FastCGI也可以允許幾個進程同時執行。這樣既解決了 CGI進程模式消耗太大的問題,又利用上了CGI進程模式不存在線程安全問題的優勢。

因此,如果是使用ISAPI的方式來運行PHP就必須用Thread Safe(線程安全)的版本;而用FastCGI模式運行PHP的話就沒有必要用線程安全檢查了,用None Thread Safe(NTS,非線程安全)的版本能夠更好的提高效率。
轉自 https://www.cnblogs.com/mrtwenty/articles/3550133.html

擴展文件下載

psr:https://pecl.php.net/package/psr

phalcon:https://github.com/phalcon/cp...
其中列出了phalcon的各個版本tags,我這邊下載的是v4.0.6

安裝

找準符合自己的擴展版本,我當前的環境是x64 nts,所以對於的擴展為

phalcon:https://windows.php.net/downl...

psr:https://windows.php.net/downl...

解壓後將擴展文件php_psr.dllphp_phalcon.dll放在php.exe同級目錄下的ext目錄下,編輯php.exe同級目錄下的php.ini文件,在擴展配置區域加上

extension=php_psr.dll

extension=php_phalcon.dll

image.png

重啓nginx,刷新phpinfo()頁面,檢索phalcon,成功;
image.png

phalcon框架安裝成功!!!

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.