2011-10-04 50 views
0

这是一个棘手的解释。所以我会弹一点上:require_once在另一个require_once中 - 某些函数可以工作,其他函数不可以 - PHP

  • 我有一个文件,该文件require_once我所有的设置文件和类......我把它叫做start.php
  • require_once,在我的索引文件。 PHP
  • 我的index.php文件,然后我require_once一个又一个文件名为home.php

此脚本完美的作品我的本地服务器上。 现在我的问题提出了自己,当我尝试它我的在线服务器上,某些功能似乎工作,而有些则没有,我得到这个错误:

致命错误:调用未定义功能update_display()在/ XXXXX /家.PHP上线146

现在我知道了“蛇蝎美人错误”,是因为我require_once,但我不明白的是,为什么一些功能似乎工作,而其他人没有?
另外值得一提的是,如果我在我的home.php文件中做require_once,它说我正在声明两次函数!

任何帮助,非常感谢。

+0

你在各地使用文件路径吗? (没有HTTP://) –

+0

@Pekka - 我只是使用相对路径,即 – denislexic

+1

最有可能是错误的文件越来越包含的功能/ start.php,所以尽量采用ABS路径(转换相对路径为绝对在前面加上'目录名( __FILE__).'它(注:点是在代码后面) –

回答

2

您可以使用这些有用的功能get_included_filesget_include_path诊断问题。只需在某处打印结果(例如,在update_display调用之前的/xxxxx/home.php中)。 您也可以使用get_defined_functions()列出已定义的函数。 这将帮助您清除实际加载的内容。

+0

由于年底一些错误。使用get_included_files,一些奇怪的原因一个文件,我在内,没有从同一个文件中的所有其他人得到之后,无论如何,它帮我找到错误,所以非常感谢你! – denislexic

0

你试图PHP起始标签从转换:

<? 

到:

<?php 

? HTH

+0

感谢您的输入相对路径的级联,但我总是用在你的虚拟主机的FTP denislexic

+0

你可能有一个名为error_log中或东西,阅读如果在该文件中为 – 2011-10-04 19:53:18

相关问题