您好,欢迎访问一九零五行业门户网

php程序安装错误

别人的网站可以正常显示验证码,我和他是一样的程序,我安装后提示 【方法不存在】。
if(!class_exists($control)) notfound('找不到控制器1');
$jms=new $control($conf['db']['dsn'], $conf['db']['user'], $conf['db']['password']);
$jms->debuglevel=$conf['debug']['level'];
if(!method_exists($jms, $action)) notfound('方法不存在');
$reflection=new reflectionmethod($jms, $action);
if($reflection->isstatic()) notfound('不允许调用static修饰的方法');
if(!$reflection->isfinal()) notfound('只能调用final修饰的方法');
http://vip4.zrd-w.com  这是别人的网站
既然是一样的程序,数据库连接也正确,我估计可能不是程序的问题,不过我对php一点都不懂,也不知道是不是这个原因?
下面是全部代码。
debuglevel=$conf['debug']['level'];
if(!method_exists($jms, $action)) notfound('方法不存在');
$reflection=new reflectionmethod($jms, $action);
if($reflection->isstatic()) notfound('不允许调用static修饰的方法');
if(!$reflection->isfinal()) notfound('只能调用final修饰的方法');
$jms->controller=$control;
$jms->action=$action;
$jms->charset=$conf['db']['charset'];
$jms->cachedir=$conf['cache']['dir'];
$jms->setcachedir($conf['cache']['dir']);
$jms->actiontemplate=$conf['action']['template'];
$jms->prename=$conf['db']['prename'];
$jms->title=$conf['web']['title'];
if(method_exists($jms, 'getsystemsettings')) $jms->getsystemsettings();
//if($jms->settings['switchweb']=='0'){
// $jms->display('close-service.php');
// exit;
//}
if(isset($page)) $jms->page=$page;
if($q=$_server['query_string']){
$para=array_merge($para, explode('/', $q));
}
if($para==null) $para=array();
$jms->headers=getallheaders();
if(isset($jms->headers['x-call'])){
// 函数调用
header('content-type: application/json');
try{
ob_start();
echo json_encode($reflection->invokeargs($jms, $_post));
ob_flush();
}catch(exception $e){
$jms->error($e->getmessage(), true);
}
}elseif(isset($jms->headers['x-form-call'])){
// 表单调用
$accept=strpos($jms->headers['accept'], 'application/json')===0;
if($accept) header('content-type: application/json');
try{
ob_start();
if($accept){
echo json_encode($reflection->invokeargs($jms, $_post));
}else{
json_encode($reflection->invokeargs($jms, $_post));
}
ob_flush();
}catch(exception $e){
$jms->error($e->getmessage(), true);
}
}elseif(strpos($jms->headers['accept'], 'application/json')===0){
// ajax调用
header('content-type: application/json');
try{
//echo json_encode($reflection->invokeargs($jms, $para));
echo json_encode(call_user_func_array(array($jms, $action), $para));
}catch(exception $e){
$jms->error($e->getmessage());
}
}else{
// 普通请求
header('content-type: text/html;charset=utf-8');
//$reflection->invokeargs($jms, $para);
call_user_func_array(array($jms, $action), $para);
}
$jms=null;
function notfound($message){
header('content-type: text/plain; charset=utf8');
header('http/1.1 404 not found');
die($message);
}
求高手帮忙解决下,谢谢。
回复讨论(解决方案) debuglevel=$conf['debug']['level'];if(!method_exists($jms, $action)) notfound('方法不存在');$reflection=new reflectionmethod($jms, $action);if($reflection->isstatic()) notfound('不允许调用static修饰的方法');if(!$reflection->isfinal()) notfound('只能调用final修饰的方法');$jms->controller=$control;$jms->action=$action;$jms->charset=$conf['db']['charset'];$jms->cachedir=$conf['cache']['dir'];$jms->setcachedir($conf['cache']['dir']);$jms->actiontemplate=$conf['action']['template'];$jms->prename=$conf['db']['prename'];$jms->title=$conf['web']['title'];if(method_exists($jms, 'getsystemsettings')) $jms->getsystemsettings();//if($jms->settings['switchweb']=='0'){// $jms->display('close-service.php');// exit;//}if(isset($page)) $jms->page=$page;if($q=$_server['query_string']){ $para=array_merge($para, explode('/', $q));}if($para==null) $para=array();$jms->headers=getallheaders();if(isset($jms->headers['x-call'])){ // 函数调用 header('content-type: application/json'); try{ ob_start(); echo json_encode($reflection->invokeargs($jms, $_post)); ob_flush(); }catch(exception $e){ $jms->error($e->getmessage(), true); }}elseif(isset($jms->headers['x-form-call'])){ // 表单调用 $accept=strpos($jms->headers['accept'], 'application/json')===0; if($accept) header('content-type: application/json'); try{ ob_start(); if($accept){ echo json_encode($reflection->invokeargs($jms, $_post)); }else{ json_encode($reflection->invokeargs($jms, $_post)); } ob_flush(); }catch(exception $e){ $jms->error($e->getmessage(), true); }}elseif(strpos($jms->headers['accept'], 'application/json')===0){ // ajax调用 header('content-type: application/json'); try{ //echo json_encode($reflection->invokeargs($jms, $para)); echo json_encode(call_user_func_array(array($jms, $action), $para)); }catch(exception $e){ $jms->error($e->getmessage()); }}else{ // 普通请求 header('content-type: text/html;charset=utf-8'); //$reflection->invokeargs($jms, $para); call_user_func_array(array($jms, $action), $para);}$jms=null;function notfound($message){ header('content-type: text/plain; charset=utf8'); header('http/1.1 404 not found'); die($message);}
config.php

你把
if(!method_exists($jms, $action)) notfound('方法不存在');
改成
if(!method_exists($jms, $action)) notfound($jms::$action 方法不存在);
再运行看看
你把
if(!method_exists($jms, $action)) notfound('方法不存在');
改成
if(!method_exists($jms, $action)) notfound($jms::$action 方法不存在);
再运行看看
空白页。
if(!method_exists($jms, $action)) notfound('方法不存在');
改成
if(!method_exists($jms, $action)) notfound($action 方法不存在 );
再运行
显然是少拷贝了文件或位置不对
不应该少文件啊,是整个打包下来的,
我传网盘上了,帮我看下。少什么?谢谢了。
http://yun.baidu.com/s/1eqxelqe
自己解决了。
其它类似信息

推荐信息