我们的时代是一个问题时代,一个问题很大的时代。在科技的神奇影响下,一切都在经历着变革。如果我们愿意在生活中睁大双眼,每天都有问题等着我们去研究,去解决。__— 教皇保罗六世,1969年5月18日 摘自《全球通史-从史前史到21世纪》

1.1.1 温馨提示

  • 请从release分支拉取稳定的代码
  • 推荐在Linux服务器上进行开发
  • 建议PHP >= 5.3.3

    1.1.2 下载

你可以选择下面你喜欢的方式之一来下载 。

(1) 网页下载

进入 Git@OSC - PhalApi ,然后点击下载。0403

(2)使用git

命令下,使用git命令快速拉取:

  1. $ git clone https://git.oschina.net/dogstar/PhalApi.git

1.1.3 安装

安装如同其他的框架一样,将代码上传到到服务器后解压即可。下面是不同环境的参考:

(1)Windowns系统下的XAMPP

将PhalApi框架下载后,解压到xampp的htdocs目录下,如:

QQ截图20150403225228

访问:

  1. http://localhost/phalapi/Public/demo/

即可看到:QQ截图20150403225621

(2)Linux系统下的Nginx

将PhalApi框架下载并解压到指定目录,假设为: /home/apps/projects/ ,则先配置nginx:

  1. server {
  2. listen 80;
  3. server_name dev.phalapi.com;
  4. root /home/apps/projects/PhalApi/Public;
  5. charset utf-8;
  6. access_log logs/dev.phalapi.com.access.log;
  7. error_log logs/dev.phalapi.com.error.log;
  8. location / {
  9. index index.html index.htm index.php;
  10. }
  11. location ~ \.php$ {
  12. fastcgi_split_path_info ^(.+\.php)(/.+)$;
  13. fastcgi_pass 127.0.0.1:9000;
  14. fastcgi_index index.php;
  15. include fastcgi_params;
  16. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  17. }
  18. }

然后,检测并重启nginx:

  1. $ nginx -t
  2. $ nginx -s reload

在本地绑定HOST:

  1. #PhalApi小牛试刀
  2. 127.0.0.1 dev.phalapi.com

最后,访问默认接口服务: http://dev.phalapi.com/demo/ ,正常时会返回类如:

  1. {
  2. "ret": 200,
  3. "data": {
  4. "title": "Default Api",
  5. "content": "PHPer您好,欢迎使用PhalApi!",
  6. "version": "1.1.0",
  7. "time": 1422779027
  8. },
  9. "msg": ""
  10. }

T_FUNCTION错误的处理方案

如果你当前的PHP环境不支持匿名函数,会报T_FUNCTION这个错误。这时,可这样处理:

先把匿名函数的写法换成直接new的方式,如:

  1. //数据操作 - 基于NotORM
  2. DI()->notorm = function() {
  3. $debug = isset($_GET['debug']) ? true : false;
  4. return new PhalApi_DB_NotORM(DI()->config->get('dbs'), $debug);
  5. };

换成:

  1. //数据操作 - 基于NotORM
  2. $debug = isset($_GET['debug']) ? true : false;
  3. DI()->notorm = new PhalApi_DB_NotORM(DI()->config->get('dbs'), $debug);

然后,在init.php文件最后添加以下代码:

  1. if (!class_exists('Closure')) {
  2. class Closure {
  3. }
  4. }

即可解决。

但由于匿名函数是DI中所需要的重要语言特性,所以建议还是将PHP版本更新到5.3以上。

原文: https://www.phalapi.net/wikis/1-1.html