您的位置:

多版本php安装报错记录的简单介绍

本文目录一览:

PHP程序安装报错,怎么解决,求教

主页index.php代码如下:

PHP code?

?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);

}

wampserver安装多php 版本切换出错

一个就行了安装那么多干嘛 肯定要端口冲突的,全部卸载重新安装一个就成。

几种centos下php安装报错原因分析与解决

解决方案

[root@rh-linux software]# rpm -qa |grep libxml2

libxml2-2.6.26-2.1.12

libxml2-python-2.6.26-2.1.12

重新安装libxml2和libxml2-devel包, yum安装的时候发现新版本会提示更新,需要更新的可以更新,不要跳过就行了。

# yum install libxml2

# yum install libxml2-devel -y

安装完之后查找xml2-config文件是否存在

# find / -name "xml2-config"

/usr/bin/xml2-config