输出的页面代码前总有空格怎么办?
小弟在CI在做一个nusoap的测试,发现一个问题,如果在CI框架中搭一个 soap的server,访问页面源代码,最前面总是有几个空格,删除所有代码,直接echo "x",照样有空格
想请教下这个空格怎么去掉呢?这个不去掉XML格式就不正确,谢谢大侠解答下~!
代码都是最简单的
<?php
class Api_sms extends CI_Controller
{
public function __construct(){
parent::__construct();
require_once ("brandsh_erp/libraries/nusoaplib/nusoap.php");
}
public function index(){
$server = new soap_server ();
// 避免乱码
$server->soap_defencoding = 'UTF-8';
$server->decode_utf8 = false;
$server->xml_encoding = 'UTF-8';
$server->configureWSDL ('smssdk'); // 打开 wsdl 支持
/*
$server->configureWSDL ('smssdk', //服务名称
'http://www.somelocation.com', //tns指定的namespace,一般填写自己的URI;
false, //endpoint url or false
'rpc', //服务样式
'http://schemas.xmlsoap.org/soap/http',
'http://www.somelocation.com'
);
*/
/*
注册需要被客户端访问的程序
类型对应值: bool->"xsd:boolean" string->"xsd:string"
int->"xsd:int" float->"xsd:float"
*/
$server->register ( 'GetTestStr', // 方法名
array ("name" => "xsd:string" ), // 参数,默认为 "xsd:string"
array ("return" => "xsd:string" ) ); // 返回值,默认为 "xsd:string"
//isset检测变量是否设置
$HTTP_RAW_POST_DATA = isset ( $HTTP_RAW_POST_DATA ) ? $HTTP_RAW_POST_DATA : '';
//service处理客户端输入的数据
$server->service ( $HTTP_RAW_POST_DATA );
}
/**
* 供调用的方法
* @param $name
*/
public function GetTestStr($name) {
return "Hello,{ $name } !";
}
}
?>
有人遇到过吗? 本帖最后由 aneasystone 于 2015-7-13 15:49 编辑
首先,你可以检查下这个页面所有引用到的php文件是否有用到类似于 echo something() 这样的代码,确保这个空格不是你的代码里无意打印出来的;
然后再检查下所有引用到的php文件中的<?php这样的代码之前是否有空格,我曾经被这个错误坑过。
可以直接搜索字符串:' <?php' (注意<前面有个空格)
祝楼主好运!
页:
[1]