当我去Test.php时,我的页面上得到以下输出:
longitude = $long;
$this->latitude = $lat;
}
public function getgeo(){
require_once('lib/mapbox/MapBox.php');
$request = new MapBox('redacted');
$request = $request->reverseGeocode($this->longitude,$this->latitude);
$request = explode(', ',$request[0]['place_name']);
if(count($request)>3){
array_shift($request);
array_splice($request,2,1);
}
$return = array($request[0],$request[2]);
}
}
?>
致命错误:未捕获错误:/var/www/html/api.redacted.com/public_html/test.php:8中找不到类'ReverseGeo':堆栈跟踪:#var {www}第8行/html/api.redacted.com/public_html/test.php
test.php的
<?php
require_once(__dir__ . '/classes/reversegeo.php');
$long = '-73.988909';
$lat = '40.733122';
$reversegeo = new ReverseGeo($long, $lat);
$return = $reversegeo->getgeo();
var_dump($return);
?>
类/ reversegeo.php
Class ReverseGeo{
protected $longitude;
protected $latitude;
public function __construct($long, $lat){
$this->longitude = $long;
$this->latitude = $lat;
}
public function getgeo(){
require_once('lib/mapbox/MapBox.php');
$request = new MapBox('redacted');
$request = $request->reverseGeocode($this->longitude,$this->latitude);
$request = explode(', ',$request[0]['place_name']);
if(count($request)>3){
array_shift($request);
array_splice($request,2,1);
}
$return = array($request[0],$request[2]);
}
}
我已经确认目录都是正确的,文件名是正确的等等。我不确定这是怎么回事。
答案 0 :(得分:2)
根据我们在聊天中的讨论,因为你的php不支持短开始标记,你需要使用完整的开启者。短标签是你的php源代码直接发送到浏览器而不是php引擎的原因。
您可以配置您的php设置以允许短开始标记但不建议出于可移植性原因。
<? should be changed to <?php
作为旁注,后续版本的php不再需要文件末尾的结束标记,以便在php支持时可以删除。