我的一个档案里有以下内容

<?php
require_once(DIR_INCLUDE .'/jsonwrapper/jsonwrapper.php');
require_once(DIR_INCLUDE .'/template.class.php');
require_once(DIR_INCLUDE .'/string.func.php');
require_once(DIR_INCLUDE .'/filesystem.func.php');
require_once(DIR_INCLUDE .'/database.php');
require_once(DIR_INCLUDE .'/login.class.php');
require_once(DIR_INCLUDE .'/user.class.php');
require_once(DIR_INCLUDE .'/querystring.class.php');
require_once(DIR_INCLUDE .'/resource.class.php');
require_once(DIR_INCLUDE .'/cache_thumbnail.class.php');
require_once(DIR_INCLUDE .'/hook.class.php');
require_once(DIR_INCLUDE .'/controller.class.php');
require_once(DIR_MODULES .'/pages/page.class.php');
require_once(DIR_MODULES .'/settings/settings.class.php');

/* Database Connect */
// Moved to config.php
// db_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);

/* Handle Login Posting */
$login = new login();

if($login->is_login()){
  $login_user = new user($login->info['user_id']);

}
$common['querystring'] = new querystring($_GET);

目前,我在网页上看到的只有纯文本,而我的apache日志包含以下内容
【10月19日星期一20:08:58.683738 2015】【错误】【pid 9552】【客户端】
107.137.15.190:58709]PHP致命错误:在/var/www/html/inc/common.PHP第28行中找不到类“querystring”
这是查询文件的内容。
<?
class querystring{
  var $myQueryString;
  var $original;

  function querystring($getvar){

    unset($getvar['path']);

    $this->myQueryString = $getvar;
    $this->original = $getvar;
  }

  function remove($except){
    if($except =="")return;

    $str_except = "";
    if(is_array($except)){
      foreach($except as $x){
        $str_except .= "[$x]";
      }
    }else{
      if($except!=""){
        $str_except = "[$except]";
      }
    }

    $str_ret = "";
    unset($new_qs);
    foreach($this->myQueryString as $key => $value){
      if(strpos(' '. $str_except, '['. $key .']')==0){
        $new_qs[$key] = $value;
      }
    }
    $this->myQueryString = $new_qs;
  }

  function add($key, $value){
    $this->myQueryString[$key] = $value;
  }

  function reset(){
    $this->myQueryString = $this->original;
  }

  function to_string(){
    if(is_array($this->myQueryString)){
      foreach($this->myQueryString as $key => $value){
        if($str_ret == ""){
          $str_ret = "?". $key . "=" . urlencode($value) ;
        }else{
          $str_ret .= "&". $key . "=" . urlencode($value) ;
        }
      }
    }
    return $str_ret;
  }

}

我想补充一下,在我将应用程序移到其他机器/服务器之前,这是有效的。
最大的区别是我从php 5.3到php5.5.9
我不知道为什么现在没有人认出它。

最佳答案

请将querystring类文件开头的<?更改为<?php
有些服务器无法将<?识别为PHP,建议改用<?php

09-30 14:16
查看更多