phalcon是由C編寫的php框架,通過擴展的形式加載,所以速度非???。這里我記錄下遇到的一些問題,以便大家學習和自己的提高。
安裝phalcon
由于我是debian系統(tǒng),所以首先https://phalconphp.com/en/download下載,通過編譯成so擴展:
git clone --depth=1 git://github.com/phalcon/cphalcon.git
cd cphalcon/build
sudo ./install
之后會生成在php的擴展目錄extension-dir(可以通過命令 php-config 查看具體的路徑),之后將phalcon.so引入到php.ini中。
引入的方法有很多,這里由于debian按照不同的運行模式配置php,我就寫一下到nginx的配置:
sudo touch /etc/php5/mod-available/phalcon.ini
之后寫上extension=phalcon.so,然后
cd /etc/php5/fpm/conf.d/ #nginx 的php配置環(huán)境fpm
sudo ln -s /etc/php5/mod-available/phalcon.ini phalcon.ini #設置軟連接
sudo systemctl restart php5-fpm.service #重啟php-fpm
最后可以在phpinfo()中看到phalcon信息,則說明加載成功
安裝Phalcon Developer Tools工具
Phalcon Developer Tools是phalcon的一款自動生成目錄結(jié)構(gòu)的工具,理論上phalcon沒有固定的目錄結(jié)構(gòu),可以隨時使用。
安裝Phalcon Developer Tools的方法有很多http://phalcon.5iunix.net/reference/tools.html,我介紹下最方便的。
通過Composer或者PEAR的方式由于國內(nèi)的原因,不一定能成功。所以我這邊通過git直接下載:
git clone https://github.com/phalcon/phalcon-devtools.git #git上下載
cd phalcon-devtools
ln -s ~/phalcon-devtools/phalcon.php /usr/bin/phalcon #設置全局的環(huán)境變量
chmod ugo+x /usr/bin/phalcon #給所有`u:自己 g:同組 o:其他`人都有有執(zhí)行的權限
如果沒問題,之后就可以用了
zhonglingxiao@aa:/etc/php5/apache2$ phalcon
Phalcon DevTools (2.0.3)
Available commands:
commands (alias of: list, enumerate)
controller (alias of: create-controller)
model (alias of: create-model)
all-models (alias of: create-all-models)
project (alias of: create-project)
scaffold (alias of: create-scaffold)
migration (alias of: create-migration)
webtools (alias of: create-webtools)
生成結(jié)構(gòu)并且配置
phalcon create-project store #生成目錄
在nginx中進行配置
cd /etc/nginx/site-available/ #進入配置目錄
sudo vi phalcon-hosts.conf #創(chuàng)建配置文件
在phalcon-hosts.conf添加
server {
listen 80;#80端口
listen [::]:80;
server_name phalcon.com;
root /home/zhonglingxiao/learnphp/phalcon/store;
index index.php index.html;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME /home/zhonglingxiao/learnphp/phalcon/store$fastcgi_script_name;
include fastcgi_params;
}
location /{
rewrite ^$ public/ last;
rewrite ^(.*)$ /public/index.php?_url=$1 last;#重寫的規(guī)則
}
}
之后:
cd /etc/nginx/site-enable/
sudo ln -s /etc/nginx/site-available/phalcon-hosts.conf phalcon-hosts.conf
然后修改host,127.0.0.1 phalcon.com;
之后重啟nginx就好了 sudo systemctl restart nginx.service;
如果沒問題的話,輸入phalcon.com,就ok了~