| 
					  小弟第一次使用 Nginx安装网站,以前一直用的是APACHE,现在遇到了点问题,使用APACHE安装网站可以正常使用,使用UPUPW NGINX套件安装网站打开是空白的,请问是怎么原因?还有我网站有带跳转代码。				 | |
| 沙发#发布于:2014-04-12 18:33 
					这个原因很多需要具体分析,具体提供以下常见原因供你参考下: 1.伪静态错误导致页面空白,nginx需要配nginx规则的伪静态。 2.程序需要zend optimizer组件解密,使用的nginx版本不能使用此解密组件。 3.程序根目录没有默认文档 另外可以访问下php探针文件,如果可以访问说明环境运行正常尝试分析下其他原因。 | |
| 板凳#发布于:2014-04-13 09:17 upupw:这个原因很多需要具体分析,具体提供以下常见原因供你参考下:不是伪静态,也没有加密,有INDEX.PHP默认文档,用PHP探针文件可以打开。 下面是INDEX.PHP代码,打开可以跳到http://www.baidu.com//index.php/user/login 这样的登录页,不过显示是空白的。 <?php
require 'lib/core/DBAccess.class';
require 'lib/core/Object.class';
require 'action/default/WebBase.class.php';
require 'action/default/WebLoginBase.class.php';
 
require 'config.php';
 
//print_r($_SERVER);exit;
$para=array();
 
if(isset($_SERVER['PATH_INFO'])){
    $para=explode('/', substr($_SERVER['PATH_INFO'],1));
    if($control=array_shift($para)){
        if(count($para)){
            $action=array_shift($para);
        }else{
            $action=$control;
            $control='index';
        }
    }else{
        $control='index';
        $action='main';
    }
}else{
    $control='index';
    $action='main';
}
$control=ucfirst($control);
 
if(strpos($action,'-')!==false){
    list($action, $page)=explode('-',$action);
}
 
$file=$conf['action']['modals'].$control.'.class.php';
 
if(!is_file($file)) notfound('找不到控制器');
try{
    require $file;
}catch(Exception $e){
    print_r($e);
    exit;
}
 
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修饰的方法');
 
$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);
} | |
| 地板#发布于:2014-04-13 11:58 
					PHP探针能够打开说明运行环境是正常的,下一步需要确认你的UPUPW Nginx版本属于PHP5.2-PHP5.5哪个系列的?应该是网站程序本身和当前PHP版本不兼容所致,如果用的是PHP5.5系列的这种可能性比较大。
 先从upupw控制面板生产开发模式选择开发模式,然后再打开网站看看具体页面显示什么错误再进行判断。如果实在无法判断可以选择Nginx的其他PHP系列试试,祝你好运! | |
| 4楼#发布于:2014-04-13 13:01 | |
| 5楼#发布于:2014-04-13 13:20 
					在论坛找到了PHP5.5版的,现在可以打开了,谢谢!				 | |
 
							
 
				

 
				


