前言: 這是和Phalcon奮鬥了3個月,經歷了各種環境的安裝,以及各種安裝方法後,終於成功在Windows中把Phalcon裝起來,不過之後換電腦要裝在mac上又是另一場戰爭了...
第一步: 安裝PHP
第一步是安裝PHP,若還沒安裝請參考另一篇文章「windows環境安裝Nginx+MySQL+PHP」的PHP部分,這裡就不細講了。
安裝好後請確認自己的三個資訊,這些資訊很重要,會影響後面其他extension會不會裝錯導致一直鬼打牆。
- PHP版本和位元版本
- Thread Safe或Non Thread Safe
- 安裝路徑
1. PHP版本和位元版本
>php -v
2. Thread Safe或Non Thread Safe
>php -i|findstr "Thread"
//disabled就是Non Thread Safe
3. PHP安裝路徑
>where php
第二步: 安裝PSR和Phalcon的Extension
下載psr和phalcon,分別解壓縮,並找到其中的php_psr.dll和php_phalcon.dll,兩個dll檔案都放進剛剛第一步查的php路徑裡面的ext資料夾。
1.下載psr
下載網址https://pecl.php.net/package/psr/1.0.0/windows
以剛剛第一步的資訊為例,我的PHP版本是PHP 7.4、64位元、Non Thread Safe,所以我下載7.4 Non Thread Safe (NTS) x64。
2.下載Phalcon
下載網址https://github.com/phalcon/cphalcon/tags
挑一個喜歡的Phalcon版本,點進去確認有支援自己使用的PHP版本,就可拉到最下面下載,注意下載有x64、php7.4、nts這幾個字的版本。
3. 解壓縮放進ext資料夾
把剛剛下載的兩個zip解壓縮,裡面會有dll檔案和一些使用權限文件,文件可以不用管,把php_psr.dll和php_phalcon.dll兩個檔案解出來就好,然後放進第一步查詢的php路徑的ext資料夾。
4. 修改php.ini
找到extension_dir = "...",改成你剛剛放dll檔的ext資料夾路徑。
extension_dir="C:wnmpphpext"
找個位置放下面兩行,位置沒有一定,我選擇放在其他extension的附近。
extension=php_phalcon.dll
extension=php_psr.dll
5. 檢查是否成功
可用php -m
確認是否有成功
若一直出現以下錯誤還附帶亂碼的話,通常是版本裝錯了,請再檢查一遍自己的PHP版本和載下來的psr、phalcon版本是否都相同。
PHP Warning: PHP Startup: Unable to load dynamic library 'php_phalcon.dll'
第三步: 安裝phalcon-devtools
這裡我們要用Composer安裝devtools,網站上是有說可以直接git clone下來,但我失敗了,所以還是乖乖請Composer幫我安裝。
1. 安裝Composer
下載網址: https://getcomposer.org/download/
2. 下載devtools
composer require "phalcon/devtools:dev-master"
安裝完記得看一下裝去哪了,以我為例我的路徑在C:UserspchomeAppDataRoamingComposer
3. 修改devtools中的phalcon.bat
到剛剛Composer安裝路徑,Composer安裝路徑vendorphalcondevtools,最後在devtools資料夾裡找到phalcon.bat,修改他。
把路徑改成你找到bat檔案的這個路徑,記得最後要加斜線。
4. 增加環境變數
把路徑也加到環境變數裡,注意這次不用加斜線。
例如我是把 C:UserspchomeAppDataRoamingComposervendorphalcondevtools 加進環境變數。
5. 測試
試著建一個project看看
phalcon create-project blog
附錄: PhpStorm中使用phalcon
直接使用的話PhpStorm會經常跟你說namesapce not found
,這個時候請安裝 Phalcon 4 Autocomplete 這個Plugin。
在PhpStorm中,File>Settings>Plugins,搜尋 Phalcon 4 Autocomplete 並安裝,重新啟動PhpStorm就可以了。