博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mac搭建PHP Phalcon框架
阅读量:6363 次
发布时间:2019-06-23

本文共 6508 字,大约阅读时间需要 21 分钟。


个人博客: alex-my.xyz

1 说明

与nginx安装请参考 

请先安装 
部分路径说明:

# 安装php相关库的路径~/Lib/php/# 新项目路径~/WWW/# nginx配置位置/usr/local/etc/nginx# php配置位置/usr/local/etc/php/5.6

2 安装phalcon

进入目录~/Lib/,并执行以下命令

git clone git://github.com/phalcon/cphalcon.gitcd cphalcon/buildsudo ./install

安装之后在/usr/local/etc/php/5.6/php.ini 中添加:

extension=phalcon.so

重启php-fpm

killall php-fpmphp-fpm -D

如果已经有搭建好的php服务器,可以运行以下代码查确定是否安装成功,如果没有,则无需纠结该步骤。

// test.php
'; }?>

在展示的页面中出现phalcon则表示安装成功。

3 安装phalcon develop tool

进入目录~/Lib/php,并执行以下命令

git clone git://github.com/phalcon/phalcon-devtools.gitcd phalcon-devtools/sudo /bin/sh ./phalcon.sh

此时查看~/.bash_profile中会发现已添加了以下内容:

export PTOOLSPATH=/Users/alex/Lib/php/phalcon-devtools/export PATH=$PATH:/Users/alex/Lib/php/phalcon-devtools

运行source ~/.bash_profile使其生效。

输入phalcon –version查看信息:

➜  /Users/alex phalcon --versionPhalcon DevTools (3.0.3)Environment::  OS: Darwin alex.local 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64  PHP Version: 5.6.24  PHP SAPI: cli  PHP Bin: /usr/local/Cellar/php56/5.6.24/bin/php  PHP Extension Dir: /usr/local/Cellar/php56/5.6.24/lib/php/extensions/debug-non-zts-20131226  PHP Bin Dir: /usr/local/Cellar/php56/5.6.24/bin  Loaded PHP config: /usr/local/etc/php/5.6/php.iniVersions::  Phalcon DevTools Version: 3.0.3  Phalcon Version: 3.0.2  AdminLTE Version: 2.3.6[Fri Dec 23 17:08:22 2016]  Script:  '/Users/alex/Lib/php/phalcon-devtools/phalcon.php'/Users/alex/Lib/php/cphalcon/build/php5/64bits/phalcon.zep.c(23654) :  Freeing 0x1106784F0 (32 bytes), script=/Users/alex/Lib/php/phalcon-devtools/phalcon.php=== Total 1 memory leaks detected ===

如果没有效果,包括后面的步骤phalcon命令不存在等问题,可以在终端执行source ~/.bash_profile,重启终端解决。

4 创建新项目manage

进入目录~/WWW/中,输入以下命令创建一个名为manage的新项目。

phalcon create-project manage

终端输出:

Phalcon DevTools (3.0.3)    Success: Controller "index" was successfully created.  /Users/alex/WWW/manage/app/controllers/IndexController.php    Success: Project "manage" was successfully created.[Fri Dec 23 14:59:30 2016]  Script:  '/Users/alex/Lib/php/phalcon-devtools/phalcon.php'/Users/alex/Lib/php/cphalcon/build/php5/64bits/phalcon.zep.c(23654) :  Freeing 0x10757A680 (32 bytes), script=/Users/alex/Lib/php/phalcon-devtools/phalcon.php=== Total 1 memory leaks detected ===

5 创建manage.conf

在nginx下添加配置文件,用以运行manage。 

进入/usr/local/etc/nginx/sites-enabled目录,创建manage.conf文件,内容:

server {    listen      80;    server_name manage.com;    # 注意指向的是manage/public    set         $root_path '/Users/alex/WWW/manage/public/';    root        $root_path;    index index.php index.html index.htm;    try_files $uri $uri/ @rewrite;    location @rewrite {        rewrite ^/(.*)$ /index.php?_url=/$1;    }    location ~ \.php {        # try_files    $uri =404;        fastcgi_index  /index.php;        fastcgi_pass   127.0.0.1:9000;        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;    }    location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {        root $root_path;    }    location ~ /\.ht {        deny all;    }}

在/etc/hosts中添加manage.com记录

sudo vim /etc/hosts# 添加127.0.0.1   manage.com

重载nginx

nginx -s reload

在浏览器中输入 manage.com

Congratulations!You're now flying with Phalcon. Great things are about to happen!This page is located at views/index/index.volt

6 phpstorm配置phalcon develop tool

用phpstorm打开manage项目。 

打开app/controllers/ControllerBase.php,发现以下代码显示红色错误(Mvc):

use Phalcon\Mvc\Controller;

现在将Phalcon Libray添加进来,消除错误,添加语法提示。

External Libraries 右键选择 configure php include pathsinterpreter 记得选择 /usr/local/bin/php(没有就自己建一个), /usr/bin/php是系统自带的php5.5(或者重建软链接)在include path 点击 + 号选择 /Users/alex/Lib/php/phalcon-devtools/ide/stubs/Phalcon

现在红色错误消除了。也增加了语法提示。

7 phpstorm配置命令行工具

phpstorm – Prefreners – Tools – Command Line Tool Support 选择 +号 

内容按照以下填写:

Choose tool: Custom toolVisibility: globalTool path: /Users/alex/Lib/php/phalcon-devtools/ide/phpstorm/phalcon.shAlias: phalcon-toolDescription: Phalcon Developer Tools

8 phpstorm测试命令行工具

phpstorm – tool – run command 

在ide底部出现输入框和显示框.Command Line Tools Console,输入以下命令

phalcon-tool create-controller --name test

命令中的phalcon-tool就是第7步 Alias: phalcon-tool 

显示框显示:

> /Users/alex/Lib/php/phalcon-devtools/ide/phpstorm/phalcon.sh create-controller --name testPhalcon DevTools (3.0.3)[Fri Dec 23 16:14:13 2016]  Script:  '/Users/alex/Lib/php/phalcon-devtools/phalcon.php'/Users/alex/Lib/php/cphalcon/build/php5/64bits/phalcon.zep.c(23654) :  Freeing 0x10FE2ED60 (32 bytes), script=/Users/alex/Lib/php/phalcon-devtools/phalcon.php=== Total 1 memory leaks detected ===  Success: Controller "test" was successfully created.  /Users/alex/WWW/manage/app/controllers/TestController.phpProcess finished with exit code 0 at 16:14:13.Execution time: 472 ms.

在app/controllers中出现一个新文件TestController.php

9 修改数据库配置

在本地创建manage

create database manage;

修改 app/config/config.php中的database

'database' => [    'adapter'     => 'Mysql',    'host'        => 'localhost',    'username'    => 'root',    'password'    => '123456',    'dbname'      => 'manage',    'charset'     => 'utf8',],

10 数据库中的表生成模型

在数据库manage创建表user;

DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,  `username` varchar(200) NOT NULL DEFAULT '' COMMENT '登录名',  `password` varchar(32) NOT NULL COMMENT '登录密码',  `salt` char(6) NOT NULL COMMENT '校验码',  PRIMARY KEY (`id`),  UNIQUE KEY `m_username` (`username`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='成员表';

在命令行输入:

phalcon-tool create-model --name user

显示框显示:

> /Users/alex/Lib/php/phalcon-devtools/ide/phpstorm/phalcon.sh create-model --name userPhalcon DevTools (3.0.3)[Fri Dec 23 16:21:46 2016]  Script:  '/Users/alex/Lib/php/phalcon-devtools/phalcon.php'/Users/alex/Lib/php/cphalcon/build/php5/64bits/phalcon.zep.c(48476) :  Freeing 0x1051B07B8 (32 bytes), script=/Users/alex/Lib/php/phalcon-devtools/phalcon.php  Success: Model "User" was successfully created.  [Fri Dec 23 16:21:46 2016]  Script:  '/Users/alex/Lib/php/phalcon-devtools/phalcon.php'/Users/alex/Lib/php/cphalcon/build/php5/64bits/phalcon.zep.c(23654) :  Freeing 0x10480AD60 (32 bytes), script=/Users/alex/Lib/php/phalcon-devtools/phalcon.php=== Total 2 memory leaks detected ===

在app/models中,会自动出现一个User.php。如果没出现,需要稍等一小段时间。

11 参考

转载于:https://www.cnblogs.com/wanghaitao/p/9440324.html

你可能感兴趣的文章
2017-08-13
查看>>
条件语句优化面面观
查看>>
集成友盟微信登录没有回调
查看>>
在CentOS Linux系统上,添加新的端口,启用ssh服务
查看>>
dbcp数据库连接池简单使用
查看>>
leetcode-38-Count and Say
查看>>
从零开始写一个node爬虫(上)—— 数据采集篇
查看>>
java调用远程服务器shell脚本
查看>>
贪吃蛇
查看>>
aardio单行的edit控件响应回车按键消息
查看>>
UVA 221 Urban Elevations
查看>>
[windows] gcc编译器
查看>>
php导出excel不断刷新缓冲区的思路(转)
查看>>
Postgresql:prepared statement "S_1" already exists
查看>>
数学基础知识03——坐标系变换
查看>>
c#在主窗体panel 容器内嵌入另一个窗体(子窗体)的实现
查看>>
python时间时分秒与秒数的互相转换
查看>>
******十二 ******、软设笔记【操作系统】-设备管理
查看>>
性能测试指标的理解--cpu和load
查看>>
Uva 439 Knight Moves
查看>>