目录
http://phalconphp.com/
与其他框架实现方法不同,Phalcon直接采用C代码编写,编译成PHP共享库载入。所以速度是最快的。
sudo apt-add-repository ppa:phalcon/stable sudo apt-get update sudo apt-get install php5-phalcon
cd /usr/local/src/ git clone git://github.com/phalcon/cphalcon.git cd cphalcon/build ./install cat > /srv/php/etc/conf.d/phalcon.ini <<EOF extension=phalcon.so EOF
确认安装是否成功
# php -m | grep phalcon phalcon
server {
listen 80;
server_name localhost;
charset utf-8;
access_log /var/log/nginx/host.access.log main;
location / {
root /www/phalcon/public;
index index.html index.php;
if ($request_filename !~ (js|css|img|/images|robots/.txt|index/.php) ) {
rewrite ^/(.*)$ /index.php?_url=/$1 last;
break;
}
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/www/nginx-dist;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ /index.php {
root /www/phalcon/public;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/phalcon/public$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
注意两点:
一是rewrite设置需要 $request_filename 过滤文件与目录
二是fastcgi配置location ~ /index.php 这样的设置是为了".php"只能运行 index.php,其他目录下的.php文件无法运行,这样解决的注入与非法脚本运行。
# pear channel-discover pear.phalconphp.com # pear install phalcon/Devtools
运行 phalcon 测试是否正确安装
# phalcon Phalcon DevTools (2.0.7) Help: Lists the commands availables in Phalcon devtools 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 migration webtools