在 laravel 中设置 phpChart

2024-02-13

环境:亚马逊EC2。 Ubuntu x64。 (已安装GD库) 我最近在 laravel 框架中使用 phpChart 进行图表和报告。 我被困在开始阶段。

这就是我所做的。

  • 1.将phpChart_Lite中的内容解压到/var/www/app/libraries/phpChart。
  • 2.编辑composer.json并添加:

    "autoload": {
        "classmap": [
            ...
            "app/libraries"
        ]
    },
    
  • 3.运行:composer dump-autoload

  • 4.修改phpChart_Lite中的conf.php

    define('SCRIPTPATH',app_path().'/libraries/phpChart_Lite/');
    

这是我的测试页代码:

<?php
require_once(app_path()."/libraries/phpChart_Lite/conf.php");
$pc = new C_PhpChartX(array(array(11, 9, 5, 12, 14)),'basic_chart');
$pc->draw();
?>

ps.my app_path() 通过“echo app_path()”验证,它是“/var/www/app”。

这是我的错误消息:

Unknown: Failed opening required '/var/www/public//var/www/app/libraries/phpChart_Lite//conf.php' 
(include_path='/var/www/vendor/phpseclib/phpseclib/phpseclib:.:/usr/share/php:/usr/share/pear') 

经过多次尝试和错误,我想我以某种方式找到了根本原因。 实际上有两个主要问题。这是我的解决方案。

1.对于我在第一篇文章中解释的问题。 在 phpChart_Lite 文件夹中的 conf.php 文件中。 SCRIPTPATH 以某种方式以 /var/www/public 为前缀。

但是,在我的 apache2.conf 文件中,该目录指定为 /var/www。不管这个前缀如何,我都使用 SCRIPTPATH 的绝对路径。以下修改对我有用:

    define('SCRIPTPATH','../app/libraries/phpChart_Lite/');

错误消失了。但第二个问题出现了,那就是图表不显示。 打开 Chrome 开发者工具(按 F12)。在“控制台”选项卡上,我发现加载 phpChar_Lite/js 时出现错误 404。错误信息之一如下:

   http://myip/app/libraries/phpChart_Lite/js/highlighter/styles/zenburn.css

由于 Laravel 的设计,外部请求只能访问 public 文件夹。 所以我得到了第二期。这是我的解决方案。(不是安全方法)

2.将phpChart_Lite移至public文件夹。修改测试页代码:

    include_once(public_path()."/phpChart_Lite/conf.php");

修改public/phpChart_Lite中的conf.php:

    define('SCRIPTPATH','phpChart_Lite/');

现在一切都很好。

如果您认为phpChart配置太复杂,您可能想尝试pChart2.0。 它不需要太多设置。但图表非常难看。

我更喜欢 phpChart,因为它的图形和函数调用,尽管设置有点复杂并且对 Laravel 不友好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 laravel 中设置 phpChart 的相关文章

随机推荐

  • C# 从 List 获取键和值

    给定一个列表 private List
  • java 的 servicewrapper 的替代品?

    我用过服务包装器 http wrapper tanukisoftware org doc english download jsp然而 在过去的几次 双重许可证对于商业产品来说有些复杂 通常你必须付费 是否有具有类似功能的完全自由和开源软件
  • 寻找 C# 代码解析器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一组类 最好在 net 框架中 它们将解析 C 代码并返回带有参数的函数列表 类及其方法 属
  • 为什么 Dockerized Hadoop 数据节点注册了错误的 IP 地址?

    我有 Hadoop 2 7 1 名称节点和数据节点的单独 Docker 1 9 1 映像 我可以从中创建容器 并让它们通过用户定义的 Docker 网络进行通信 然而 数据节点似乎报告自己拥有网络网关的 IP 地址 而不是它自己的 IP 地
  • 将 admin date_hierarchy 设置为foreignkey日期字段

    当我尝试设置时 date hierarchy schedule date 其中 Schedule 是外键 我收到以下错误 TestAdmin date hierarchy refers to field schedule date that
  • 使用 Express 后端将 create-react-app 部署到 heroku 在浏览器中返回无效的主机标头

    标题说明了一切 我在这里构建了一个最小的工作示例 https github com sehailey proxytest https github com sehailey proxytest 我已经尝试过 所以我可能已经记不清了 尽管它们
  • 在 sed -i (正则表达式?)bash 内部使用变量

    我看过另一个sed这里的页面 我找不到使用的页面 i在正则表达式搜索部分有一个变量 我正在尝试剪切文件中请求的行myresolv conf并获取其行号 我班5个人都卡住了 任何帮助都很棒 line grep n 3 myresolv con
  • std::u16string、std::u32string、std::string、length()、size()、代码点和字符

    我很高兴看到std u16string and std u32string在 C 11 中 但我想知道为什么没有std u8string处理 UTF 8 情况 我的印象是std string是为UTF 8设计的 但似乎做得不太好 我的意思是
  • VSTO Outlook:获取选定的附件

    我正在尝试对 Outlook 2010 中选定的附件执行操作 我在VS2012中创建了一个Outlook VSTO项目 这是用于在附件功能区上添加按钮的 XML
  • 如何在 WPF 应用程序中动态导入 3D 模型

    我已经搜索了很长一段时间但找不到合适的方法 当用户选择模型时 如何在运行时将 3D 模型导入 WPF 应用程序中 它可以在任何一种流行的 3D 建模软件中构建 例如 3DS max Maya Blender 等 但并非全部 需要导入 3DS
  • Java作业-打印三角形图案?

    我正在为一项任务而苦苦挣扎 我知道这完全是我的错 但我在课堂上落后了 而且在完成这项作业时遇到了困难 我的目标是打印以下图案 使用 嵌套 for 循环 有人能给我一些关于如何解决这个问题的提示吗 我已经成功打印了一个方形的星号 但我无法弄清
  • 在 Chrome 上单击时链接不会获得焦点

    我在 Chrome 上遇到了一个非常奇怪的行为 这对我来说似乎是一个错误 当您单击链接时 该链接没有获得焦点 更糟糕的是 身体反而成为焦点 可以在这里观察到这种行为 http jsfiddle net YfbR7 4 http jsfidd
  • Emacs - 取消定义前缀键

    我设法将 M 大写 em 键定义为 sqlplus 模式下的前缀键 这阻止了我输入 M 如何在此模式下取消设置此前缀键 短期修复 M x local set key M self insert command 长期修复 请在 emacs 文
  • Boost 程序选项 bool 始终为 True

    通过程序选项 我正在检查参数的有效组合 但由于某种原因 gpu 参数是一个布尔值 无论我是否在命令行上将其设置为 false 它始终为 true 如果我在命令行上指定 gpu 选项 有没有办法可以为 false 我希望能够创建一个布尔变量来
  • 恢复已被覆盖的内置方法

    假设我们的脚本包含在网页中 并且先前的脚本 已执行 执行了以下操作 String prototype split function return U MAD BRO So the split字符串方法已被覆盖 我们想使用这个方法 所以我们需
  • 如何将 CupertinoApp 包装在 Localizations 小部件中,以便我可以在其中使用 Material 小部件?

    我正在使用 CupertinoApp 小部件来包装我的应用程序 同时尝试在其中使用 Material TextFormField 小部件 例如 当我触发文本选择模式 双击文本字段 时 我收到以下错误 因为它尝试打开需要材质本地化的覆盖小部件
  • 来自其他容器的 Docker mongo 映像“连接被拒绝”

    我是码头工人的新手 我正在尝试创建一个 MongoDB 容器和一个 NodeJS 容器 我的文件看起来 version 2 services backend image node 5 11 onbuild ports 3001 3001 v
  • 代码沙箱内的路由,由于 withRouter 而失败

    当我点击提交按钮时 我需要重定向到此页面 pageOne 所以我用谷歌搜索并找到了一个反应路由器并使用了这一行this props history push anotherPage 但它没有重定向 它抛出一个错误 Invariant fai
  • 如何防止 root 访问我的 docker 容器

    我正在努力强化我们的 docker 镜像 但我对它的理解已经有点薄弱了 话虽如此 我当前要做的步骤是阻止用户以 root 身份运行容器 对我来说 这意味着 当用户运行 docker exec it my container bash 时 他
  • 在 laravel 中设置 phpChart

    环境 亚马逊EC2 Ubuntu x64 已安装GD库 我最近在 laravel 框架中使用 phpChart 进行图表和报告 我被困在开始阶段 这就是我所做的 1 将phpChart Lite中的内容解压到 var www app lib