reportico工具和Yii整合,并解决Projects area does not exist - cannot write project 错误

Reportico工具是一个PHP开源的报表工具。可以YIILaravel等流行的PHP框架进行整合。

首页:

http://www.reportico.org/

   

首页如下:

   

reportico工具和Yii整合,并解决Projects area does not exist - cannot write project 错误

   

Screen clipping taken: 11/20/2017 3:54 PM

   

然后我们想要和PHP整合,那么可以看下面的这个链接:

   

reportico工具和Yii整合,并解决Projects area does not exist - cannot write project 错误

   

Screen clipping taken: 11/20/2017 3:54 PM

   

选择 "YII Reportico Modules"来进行下载安装。

   

我本地安装使用的是YII2,所以我点击了"YII2 module"按钮,进入到下面的一个引导页面:

http://www.reportico.org/yii2/web/index.php/site/index

   

看完指导信息后,提供了一个链接,告诉我们如何安装YII 的Reportico Module:

http://www.reportico.org/yii2/web/index.php/site/installation

   

接下来是我参考安装指导的步骤:

  • 进入到YII的根目录,修改composer.json文件,加入下面的内容:

    "require": {

    "reportico/yii2-reportico": "dev-master"

    },

       

    reportico工具和Yii整合,并解决Projects area does not exist - cannot write project 错误

       

    Screen clipping taken: 11/20/2017 4:05 PM

       

       

  • 接下来,执行下面的命令,来更新module
    • composer update
  • 接下来,把这个Module配置到YII框架中。
    • 修改config目录下的web.php文件,加入下面的内容:

      'reportico' => [

      'class' => 'reportico\reportico\Module' ,

      'controllerMap' => [

      'reportico' => 'reportico\reportico\controllers\ReporticoController',

      'mode' => 'reportico\reportico\controllers\ModeController',

      'ajax' => 'reportico\reportico\controllers\AjaxController',

      ]

      ],

      上面的配置方式是Reportico的官网告诉的方法,但是我发现这样是行不通的。。。所以我研究了Yii框架Module加载的方法之后,修改了这段代码,改为下面的方式把这个Module配置进去,代码如下:

         

      reportico工具和Yii整合,并解决Projects area does not exist - cannot write project 错误

         

         

         

      然后访问这个Module,通过下面的URL(我自己环境的):

      http://localhost/DemoPage/Yii/basic/web/index.php?r=reportico

      如图:

      reportico工具和Yii整合,并解决Projects area does not exist - cannot write project 错误

  • 在这个页面中我们需要设置下Admin的密码:

    我这里设置为admin123

       

    但是,因为框架中有BUG,导致在windows环境下安装的时候,可能会报下面的这个错误:Projects area does not exist - cannot write project

    reportico工具和Yii整合,并解决Projects area does not exist - cannot write project 错误

    我看了代码,可能是和传入的目录既有正斜杠也有反斜杠导致,所以加入了如下代码:

    改动代码:

    文件:reportico.php 文件,方法:save_admin_password

    修改代码如下:

    reportico工具和Yii整合,并解决Projects area does not exist - cannot write project 错误

       

    其实就是把$proj_parent = find_best_location_in_include_path( $this->admin_projects_folder); 换成 $proj_parent = find_best_location_in_include_path("projects");

       

    因为之前的$this->admin_projects_folder 是一个绝对路径,所以会导致底层的方法出现一些问题,找不多对应的目录。所以改为现在这种方式可以找到。

  • 接下来进入到登录页面:
    • reportico工具和Yii整合,并解决Projects area does not exist - cannot write project 错误

         

      输入刚刚的admin密码admin123,去登录。

  • 登录成功后,进入管理页面
    • reportico工具和Yii整合,并解决Projects area does not exist - cannot write project 错误
    • 点击 Create A New Project,就可以创建一个新的项目了。