目錄
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