我在linux机器上用php写了一个简单的web服务。这是代码:
service.php
<?php
require 'lib/nusoap.php';
include 'functions.php';
$server=new nusoap_server();
$server->configureWSDL("demo"."urn:demo");
$server->register(
"price", //name of the function
array("name"=>'xsd:string'), //inputs
array("return"=>'xsd:inter') //outputs
);
HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
?>
functions.php
<?php
function price($name){
$details=>array(
'abc'=>123,
'qwe'=>34
);
foreach ($details as $n => $p) {
if ($name==$n) {
$price=$p;
}
}
return $price;
}
/*function countname(){
}*/
?>
但是我得到了这样的错误:
[Wed Jul 15 00:10:54.675740 2015] [:error] [pid 1564] [client 127.0.0.1:40356] PHP Parse error:语法错误,意外&#39; =&#39;在第11行的/var/www/html/phpWebService/service.php中
我无法理解这个错误。我该如何解决?
答案 0 :(得分:2)
HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
^^^^^^^^^^^^^^^^^^---constant
你不能为常数赋值,你只能define()
。
答案 1 :(得分:1)
问题在于这一行:
HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
对于PHP,看起来你正试图分配一个常量。添加$
以生成变量,或使用define()
创建具有该值的常量。
答案 2 :(得分:-2)
检查是否有任何缺失的半冒号或右括号。 通常它会在你遗漏某些东西之后引用行号中的错误。