2016-11-30 60 views
1

我的php网页停止显示数据库结果。 硬盘故障后新系统安装在新硬盘上,并在ubuntu上升级.php版本(之前版本为5.xx,现在版本为7.xx)。 我不是.php大师,所以我不知道如何从ubuntu服务器上的命令行正确调试.php代码。php脚本中的SQL在升级服务器上的php版本后停止工作

我希望你们可以告诉我,自从.php升级以来,一切正常。 或者我怎么能在语句执行后看到结果/错误?

<?php // ŠĐČĆŽšđčćž 
 
require_once("config.inc.php"); 
 
require_once("databasess.inc.php"); 
 

 
DBSS_Open(DATABASE_SS_HOST, DATABASE_SS_USERNAME, DATABASE_SS_PASSWORD, DATABASE_SS_NAME); 
 

 
$data = array(); 
 

 
foreach ($GLOBALS["VM_operators"] AS $VM_operator => $VM_operator_options) 
 
\t { 
 
\t # Number of available channel 
 
\t $query = "SELECT gpools_view.* FROM gpools_view, gsm_pools WHERE gpools_view.pool_id=gsm_pools.id AND gsm_pools.name = '".$VM_operator_options["gsmpool"]."';"; 
 
\t $result = DBSS_Query($query); 
 
\t $data["rtco_".$VM_operator."_availablechannels"] = DBSS_NumRows($result); 
 
\t DBSS_FreeResult($result); 
 
\t # Number of channel 
 
\t $query = "SELECT gpools_view.* FROM gpools_view, gsm_pools WHERE gpools_view.pool_id=gsm_pools.id AND gsm_pools.name = '".$VM_operator_options["gsmpool"]."' AND (gpools_view.status = 40 OR gpools_view.status = 30);"; 
 
\t $result = DBSS_Query($query); 
 
\t $num_channels = DBSS_NumRows($result); 
 
\t DBSS_FreeResult($result); 
 
\t $data["rtco_".$VM_operator."_channels"] = $num_channels; 
 
\t if ($num_channels < ($data["rtco_".$VM_operator."_availablechannels"]/2)) 
 
\t \t { 
 
\t \t $data["msg_rtco_".$VM_operator."_channels"] = "Low channels for <b>".$VM_operator_options["name"]."</b>!"; 
 
\t \t } 
 
\t else 
 
\t \t { 
 
\t \t $data["msg_rtco_".$VM_operator."_channels"] = ""; 
 
\t \t } 
 
\t # Number of calls 
 
\t $query = "SELECT gpools_view.* FROM gpools_view, gsm_pools WHERE gpools_view.pool_id=gsm_pools.id AND gsm_pools.name = '".$VM_operator_options["gsmpool"]."' AND gpools_view.status = 40;"; 
 
\t $result = DBSS_Query($query); 
 
\t $num_calls = DBSS_NumRows($result); 
 
\t DBSS_FreeResult($result); 
 
\t $data["rtco_".$VM_operator."_calls"] = $num_calls; 
 
\t # Percentage 
 
\t if ($num_channels > 0) 
 
\t \t { 
 
\t \t $percentage = round($num_calls/$num_channels*100); 
 
\t \t $data["rtco_".$VM_operator."_percentage"] = $percentage." %"; 
 
\t \t if ($percentage >= 90) 
 
\t \t \t { 
 
\t \t \t $data["msg_rtco_".$VM_operator."_percentage"] = "Overload on <b>".$VM_operator_options["name"]."</b>!"; 
 
\t \t \t } 
 
\t \t else 
 
\t \t \t { 
 
\t \t \t $data["msg_rtco_".$VM_operator."_percentage"] = ""; 
 
\t \t \t } 
 
\t \t } 
 
\t else 
 
\t \t { 
 
\t \t $data["rtco_".$VM_operator."_percentage"] = "0 %"; 
 
\t \t } 
 
\t } 
 

 
echo(json_encode($data)); 
 

 
?>

最好的问候。

+4

你已经创建了一个PHP的MySQL库(我猜它是mysql_ *)的包装,但你没有发布包装代码。所以我们还在猜测。但猜测是一件容易的事情,因为mysql_ *在php 7中已停用 – e4c5

+0

我可以以某种方式将php 7降级到机器上的php 5以保留旧功能? –

+0

是的。 [您选择的搜索引擎]对该主题有足够的答案。然而,更好的方法是*升级你的代码*,这样你就不会在PHP5中使用已被弃用的函数了 - 这样一来,你的代码甚至可以面向未来。 –

回答

0

我解决了这个问题。 缺少组件是pgsql,并在php脚本pgconnect()返回并出错。

安装pg组件解决了这个问题。 sudo apt-get install php5-pgsql

非常感谢您的帮助!