多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
*** _我们的时代是一个问题时代,一个问题很大的时代。在科技的神奇影响下,一切都在经历着变革。如果我们愿意在生活中睁大双眼,每天都有问题等着我们去研究,去解决。_ _-- 教皇保罗六世,1969年5月18日 摘自《全球通史-从史前史到21世纪》_ ##1.1.1 温馨提示 + *请从release分支拉取稳定的代码* + *推荐在Linux服务器上进行开发* + *建议PHP >= 5.3.3* ##1.1.2 下载 你可以选择下面你喜欢的方式之一来下载 。 ###(1) [网页下载](http://git.oschina.net/dogstar/PhalApi) 进入 [Git@OSC - PhalApi](http://git.oschina.net/dogstar/PhalApi) ,然后点击下载。 ![0403](http://webtools.qiniudn.com/20150411005257_591b373f60b806c454709d805fc959c3) ###(2)使用git 命令下,使用git命令快速拉取: ```javascript $ git clone https://git.oschina.net/dogstar/PhalApi.git ``` ##1.1.3 安装 安装如同其他的框架一样,将代码上传到到服务器后解压即可。下面是不同环境的参考: ###(1)Windowns系统下的XAMPP 将PhalApi框架下载后,解压到xampp的htdocs目录下,如: ![QQ截图20150403225228](http://webtools.qiniudn.com/20150411005257_2d789413b00dc98e6f8cbd5dd77c1776) 访问: ``` http://localhost/phalapi/public/demo/ ``` 即可看到: ![QQ截图20150403225621](http://webtools.qiniudn.com/20150411005257_e6805fdf7ef26d2957d10bb8c1b982ee) ###(2)Linux系统下的Nginx 将PhalApi框架下载并解压到指定目录,假设为: /home/apps/projects/ ,则先配置nginx: ```javascript server { listen 80; server_name dev.phalapi.com; root /home/apps/projects/PhalApi/Public; charset utf-8; access_log logs/dev.phalapi.com.access.log; error_log logs/dev.phalapi.com.error.log; location / { index index.html index.htm index.php; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } ``` 然后,检测并重启nginx: ``` $ nginx -t $ nginx -s reload ``` 在本地绑定HOST: ```javascript #PhalApi小牛试刀 127.0.0.1 dev.phalapi.com ``` 最后,访问默认接口服务: http://dev.phalapi.com/demo/ ,正常时会返回类如: ```javascript { "ret": 200, "data": { "title": "Default Api", "content": "PHPer您好,欢迎使用PhalApi!", "version": "1.1.0", "time": 1422779027 }, "msg": "" } ``` ##T_FUNCTION错误的处理方案 如果你当前的PHP环境不支持匿名函数,会报T_FUNCTION这个错误。这时,可这样处理: 先把匿名函数的写法换成直接new的方式,如: ```javascript //数据操作 - 基于NotORM DI()->notorm = function() { $debug = isset($_GET['debug']) ? true : false; return new PhalApi_DB_NotORM(DI()->config->get('dbs'), $debug); }; ``` 换成: ```javascript //数据操作 - 基于NotORM $debug = isset($_GET['debug']) ? true : false; DI()->notorm = new PhalApi_DB_NotORM(DI()->config->get('dbs'), $debug); ``` 然后,在init.php文件最后添加以下代码: ```javascript if (!class_exists('Closure')) { class Closure { } } ``` 即可解决。 但由于匿名函数是DI中所需要的重要语言特性,所以建议还是将PHP版本更新到5.3以上。