法尔康!法尔康! 法尔康! 非要坑,非要坑,非要坑~~~~~~~~~~~~

·坑我,坑我,坑我

环境:linux  centos7.0  nginx  php5.5.*

1. 检查php扩展

官方的github位置 :

http://github.com/phalcon/cphalcon.git
文档社区:
https://docs.phalconphp.com/zh/latest/index.html

linux操作命令为:
git clone git://github.com/phalcon/cphalcon.git
cd cphalcon/build

sudo ./install

Add the extension to your php.ini:

extension=phalcon.so

报错情况:

  sudo ./install
./install: line 24: php-config: command not found

php-config is not installed

解决方案:

cd cphalcon/ext
export CFLAGS="-O2 -finline-functions -fvisibility=hidden"
phpize
./configure --with-php-config=/usr/local/php/bin/php-config --enable-phalcon
make
sudo make install

[root@root ~]# cd cphalcon/ext
[root@root ext]# export CFLAGS="-O2 -finline-functions -fvisibility=hidden"
[root@root ext]# phpize 
Configuring for:
PHP Api Version:         20121113
Zend Module Api No:      20121212
Zend Extension Api No:   220121212
[root@root ext]# ./configure --enable-phalcon
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for PHP prefix... /usr/local/php
checking for PHP includes... -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -

I/usr/local/php/include/php/ext/date/lib
checking for PHP extension directory... /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212
checking for PHP installed headers prefix... /usr/local/php/include/php
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... gawk
checking whether to enable phalcon... yes, shared
checking whether HAVE_BUNDLED_PCRE is declared... yes
checking for ext/pcre/php_pcre.h... yes
checking whether HAVE_JSON is declared... yes
checking for ext/json/php_json.h... yes
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognize dependent libraries... pass_all
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking the maximum length of command line arguments... 1572864
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if cc supports -fno-rtti -fno-exceptions... no
checking for cc option to produce PIC... -fPIC
checking if cc PIC flag -fPIC works... yes
checking if cc static flag -static works... no
checking if cc supports -c -o file.o... yes
checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no

creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h
config.status: config.h is unchanged
[root@root ext]# make
/bin/sh /root/cphalcon/ext/libtool --mode=install cp ./phalcon.la /root/cphalcon/ext/modules
cp ./.libs/phalcon.so /root/cphalcon/ext/modules/phalcon.so
cp ./.libs/phalcon.lai /root/cphalcon/ext/modules/phalcon.la
PATH="$PATH:/sbin" ldconfig -n /root/cphalcon/ext/modules
----------------------------------------------------------------------
Libraries have been installed in:
   /root/cphalcon/ext/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------

Build complete.
Don't forget to run 'make test'.
[root@root]# sudo make install
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
Installing header files:          /usr/local/php/include/php/

增加php.ini 扩展

extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/phalcon.so

接下来重启服务器

重启nginx

[root@root ~]# service nginx restart

重启php-fpm

[root@root]#  /etc/init.d/php-fpm restart

现在检查下安装是否成功。

php -r 'echo phpinfo();' | grep -i phalcon

如果输出下面这样算作成功

/etc/php5/cli/conf.d/30-phalcon.ini
phalcon
Phalcon Framework => enabled
Phalcon Version => 1.3.4
phalcon.db.escape_identifiers => On => On
phalcon.orm.column_renaming => On => On
phalcon.orm.enable_literals => On => On
phalcon.orm.events => On => On
phalcon.orm.exception_on_failed_save => Off => Off
phalcon.orm.not_null_validations => On => On
phalcon.orm.virtual_foreign_keys => On => On
phalcon.register_psr3_classes => Off => Off

也可以通过下面这种方式检测:

php -r 'echo print_r(get_loaded_extensions());'

如果输出下面这样算作成功

Array
([0] => Core[1] => date[2] => ereg[3] => libxml[4] => openssl...

2. Nginx配置

Nginx的安装略去

配置修改:修改/etc/nginx/site-avaliable/default 或 /etc/nginx/conf.d/default,取决于/etc/nginx/nginx.conf的配置和个人喜好

这里为了测试,在default文件中配置了两个域名,共用8080端口

server {listen   8080 default_server;server_name ~^(.+)$;index index.php index.html index.htm;set $root_path '/srv/www/htdocs/phalcon-website/public';root $root_path;try_files $uri $uri/ @rewrite;location @rewrite {rewrite ^/(.*)$ /index.php?_url=/$1;}location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {root $root_path;}location ~ /\.ht {deny all;}location ~ \.php$ {fastcgi_index /index.php;fastcgi_pass unix:/var/run/php5-fpm.sock;include fastcgi_params;fastcgi_split_path_info       ^(.+\.php)(/.+)$;fastcgi_param PATH_INFO       $fastcgi_path_info;fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;}
}
server {listen   8080;#这里在测试时用store_server域名,本机需要绑定hosts才能解析server_name store_server;index index.php index.html index.htm;set $root_path '/srv/www/htdocs/store/public';root $root_path;try_files $uri $uri/ @rewrite;location @rewrite {rewrite ^/(.*)$ /index.php?_url=/$1;}location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {root $root_path;}location ~ /\.ht {deny all;}location ~ \.php$ {fastcgi_index /index.php;fastcgi_pass unix:/var/run/php5-fpm.sock;include fastcgi_params;fastcgi_split_path_info       ^(.+\.php)(/.+)$;fastcgi_param PATH_INFO       $fastcgi_path_info;fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;}
}

3. phalcon-devtools安装

这个是phalcon的脚手架工具,支持一组命令,能够为您自动生成代码。

git clone git://github.com/phalcon/phalcon-devtools.git
cd phalcon-devtools/ && sudo ln -s ~/phalcon-devtools/phalcon.php /usr/bin/phalcon

挂载目录自查一下是否正确:::然后执行phalcon commands,会出现命令提示

Phalcon DevTools (1.3.4)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)scaffoldmigrationwebtools

执行create-project就能生成一套框架代码啦!

cd /srv/www/htdocs/ && phalcon create-project store

store为建立项目目录名

4. 最后一个大山

访问最后403,403,403,html 可以访问,PHP不可访问,

错误日志为:

50119#0: *2 FastCGI sent in stderr: "Access to the script '/home/wwwroot/rjjr/web/public' has been denied (see security.limit_extensions)" while reading response header from upstream, client: 10.200.64.79, server: local.rjjr.com, request: "GET /test.php HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "local.r.com"

以上日志是个坑,真正的问题如下:

cgi.fix_pathinfo  =1 请自己查一下php.ini里设置的是否为0   坑了我好几个小时~~~~~~~

OVER

法尔康,你大爷的,phalcon配置大全相关推荐

  1. ASA LAB-ASA NAT配置大全

    ASA LAB-ASA NAT配置大全 两种NAT配置方式 : 1- Auto(object)NAT 2- Twice NAT NAT分类 : Static nat Dynamic nat Stati ...

  2. redis配置_Redis配置大全(三)

    " 点击关注Coding小暮,获取更多优质内容哦" Redis配置文件的讲解,今天将会全部讲完.先来个前文回顾: 吐血整理Redis配置大全(一) Redis配置大全(二) 本篇内 ...

  3. 智能会议系统(16)---Linphone配置大全

    Linphone配置大全 1. 自动接听电话: non_localizable_custom.xml <bool name="auto_answer_calls">fa ...

  4. Spark性能调优系列:Spark参数配置大全(官网资料)

    Spark参数配置大全 Spark提供了三个位置来配置系统 Spark属性控制大多数应用程序参数,可以使用SparkConf对象或Java系统属性来设置. 通过conf/spark-env.sh每个节 ...

  5. Jackson配置大全

    jackson支持以下格式 Avro, BSON, CBOR, CSV, Smile, (Java) Properties, Protobuf, TOML, XML or YAML; 基础注解 注解 ...

  6. WdatePicker日历控件参数配置大全

    WdatePicker日历控件参数配置大全 官方下载地址: http://www.my97.net/dp/down.asp 详细配置见: http://www.cnblogs.com/huangw/a ...

  7. 海康硬盘录像机报警输出配置设置

    海康硬盘录像机报警输出配置设置 为实现海康设备报警远程通知的功能,需要对海康的设备进行配置,我们用以下设备进行设备配置的演示 海康摄像头 DS-2CD3T86FWDV2-15S 海康威视智脑 NVR ...

  8. 第一章:pycharm、anaconda、opencv、pytorch、tensorflow、paddlex等环境配置大全总结【图像处理py版本】

    第一章:pycharm.anaconda.opencv.pytorch.tensorflow.百度飞桨 等环境配置大全总结 0 引言 一 .环境搭建 1.pycharm+anaconda安装 1.1 ...

  9. TrueNAS做为海康摄像头NAS储存详细配置

    大家好久不见,距离上一篇文章已经很久很久了! 做这个事儿的背景:公司有几个拆卸下来的海康摄像头,最近领导让安一个到另外一个地方去使用.安装很简单,但是视频存储就是个问题.当然不差钱就直接买一个录像机搞 ...

最新文章

  1. 用python画花瓣-Python教程:使用Turtles画出带有花瓣的花
  2. MFC DLL对话框调用
  3. 【Python3】POP3协议收邮件
  4. PHPCMS修改目录
  5. 程序闪退_苹果APP日常使用时一直闪退怎么办?
  6. 【java】java 随机数 Random ThreadLocalRandom SecureRandom
  7. 技术总监灵魂一问:你精通那么多技术,为何还做不好一个项目?
  8. 设计模式(十):装饰者模式
  9. 2019 最新计算机技能排名出炉:Python 排第三,第一名是...
  10. 二叉树递归非递归遍历,层次遍历,反转,输出路径等常见操作详细总结
  11. win10 linux声音,win10电脑突然没有声音的10种修复方法
  12. 计算机基础知识2003,计算机基础知识PPT2003练习题及答案(DOC)
  13. 笔记本计算机信号不强,增强笔记本WiFi无线信号的方法
  14. 无私数据分享:Chartboost的使用
  15. cadence SPB17.4 - allegro DRC - Physical - Maximum Neck Length
  16. 2020年全球程序员收入出炉,国内程序员的收入也不低!北京以10万美元的薪资排名第十!
  17. Word【内容一键生成目录】
  18. 互信息建立基因网络(一)
  19. hdu5078 hdu5074 顺便写一写鞍山
  20. pr 文件结构不一致_PS和视频编辑试题

热门文章

  1. 准备踏入Android开发的道路
  2. PostgreSQL参数优化对比性能测试
  3. android EditView
  4. 高性能分布式计算与存储系统设计概要——暨2012年工作3年半总结
  5. 如何建立自信心,不错!
  6. MspEmu W.I.P.
  7. 三:Bootstrap-js插件
  8. Java8的十大新特性
  9. 解题:洛谷2093 JZPFAR
  10. Python__configparser模块