【问题标题】:jpgraph works localhost but not on webjpgraph 可以在本地主机上工作,但不能在网络上工作
【发布时间】:2012-09-01 13:43:18
【问题描述】:

我制作了一个.php 文件,该文件生成了一个图表,当从本地主机运行时它显示完美。 当我把它放在我的网络文件夹/var/www/"my-dyndns-web-adress.com"/web/ 中时,我得到一个空白页面(my-dyndns-web-adress 是假的,而不是我的真实的)。

来自tail -f other_vhosts_access.log 我收到了这个:

my-dyndns-web-adress.com:80 XX.XXX.XXX.XXX - - [01/Sep/2012:15:31:37 +0200]
  "GET /sqlex.php HTTP/1.1" 500 275 "-" "Mozilla/5.0
  (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.25 (KHTML, like Gecko)
  Version/6.0 Safari/536.25"

这似乎是某种 HTTP 错误,但我不知道如何解决,谷歌搜索没有运气。

我已经追踪到它在第一个 $graph = something 应该执行时崩溃。在此之前没有任何问题。

【问题讨论】:

  • 您应该在您的 php 脚本中启用错误报告以查看错误是什么。只需将其放在顶部:ini_set('display_errors',1); error_reporting(E_ALL | E_STRICT);
  • 这是一个 500 内部服务器错误,虽然没有看到代码或错误行,但无法回答。可能有很多东西。
  • 感谢 jeroen,这正是我想要的。现在我知道问题出在哪里了:警告:include(): open_basedir 限制生效。文件(/usr/share/jpgraph/jpgraph.php)不在允许的路径中:
  • 这是我文件的开头:
  • 现在,我已经在我的网络区域 (lib) 中安装了库,并且没有像以前一样出现错误,因此它找到了 jpgraph 库。但是现在我从 jpgraph 中只得到一个带有问号的蓝色小方块,有些事情正在发生,但没有图形。

标签: php http apache2 jpgraph dyndns


【解决方案1】:

回答您关于将包含文件放在何处的问题:.htaccess 文件只有在文件位于 web 根目录中时才会生效。

如果它们被多个站点共享,我通常将我的包含放在 php 包含目录中(在 ini 文件中设置,include_path)仅适用于该特定项目(我的项目目录通常包含 /sys/www 等文件夹,其中 /www 是网络根目录)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 2018-10-27
    • 2013-07-08
    • 2018-12-08
    • 1970-01-01
    • 2011-03-23
    相关资源
    最近更新 更多