PHP目标有时有时不起作用

时间:2014-06-24 23:47:00

标签: php logic

我在php 5.3.28上面临一个非常奇怪的问题

我有这段代码:

ob_start( );
session_start( );
include( "../common.php" );
check_user_login( );
$Pageination->Pagination( );
$p = $Pageination;

我在我的所有网站上使用此代码进行分页,但我不知道为什么有一段时间我会收到此错误

  

PHP致命错误:在

中调用未定义的函数Pagination()

有时这段代码工作得很好没有错误!

[更新1]

来自我的main / main.php的代码

ob_start( );
session_start( );
include( "../common.php" );
check_user_login( );
$Var_120->Pagination( );
$p = $Var_120;
$page = setpage( );
$Var_336->AdminLoginlist( );
$al = $Var_336;

及其工作

我的main / edit-faq.php

中没有此代码
ob_start( );
session_start( );
include( "../common.php" );
check_user_login( );
$Var_312->Pagination( );
$p = $Var_312;
$page = setpage( );
$Var_528->viewcategory( );

没有工作,错误就在

  

致命错误:在非对象上调用成员函数Pagination()   在/home/zmiintco/public_html/z/main/edit-faq.php第91行

这是我的common.php代码

include( "lib/connect.php" );
include( "lib/function.php" );
include( "lib/pagination.php" );
include( "lib/validation.php" );
include( "lib/simpleimage.php" );
include( "language/".get_page_settings( "11" ).".php" );

2 个答案:

答案 0 :(得分:0)

您可能将错误报告设置为不显示警告。因此,您不会发现您的include()语句失败。因此,您的Paginator类不可用于您的脚本,并在您尝试实例化时导致致命错误。

有关如何正确设置错误报告的详细信息,请参阅How to get useful error messages in PHP?

这很可能是因为当脚本不是包含它的目录下的一个目录时,您使用该文件的相对路径是不正确的。将include的路径更改为解决此问题的绝对路径。

例如:

include( "/full/path/to/includes/common.php" );

答案 1 :(得分:0)

首先,在脚本顶部设置错误报告:

error_reporting(E_ALL);
ini_set('display_errors', 1);

现在您很可能会收到错误(,如您所述):

  

PHP致命错误:在

中调用未定义的函数Pagination()

那是因为你的变量$Pageination没有被实例化。 只需实例化它,然后调用其成员函数。

ob_start( );
session_start( );
include( "../common.php" );
check_user_login( );

$Pageination = new Pagination();
$Pageination->Pagination( );
$p = $Pageination;

请注意,这是一个位于common.php包含内的某个类


您是否可以在common.php中显示代码?