经过多次尝试和错误,我想我以某种方式找到了根本原因。
实际上有两个主要问题。这是我的解决方案。
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 不友好。