2017-01-14 2 views
-1

Я получаю следующий вывод на моей странице, когда я иду в test.php:PHP Error, класс не найден

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

Fatal error: Uncaught Error: Class 'ReverseGeo' not found in /var/www/html/api.redacted.com/public_html/test.php:8 Stack trace: #0 {main} thrown in /var/www/html/api.redacted.com/public_html/test.php on line 8

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

Если вы просматриваете страницу, показывает ли она полный код в источнике? [См. Этот вопрос] (http://stackoverflow.com/questions/5121495/php-code-is-not-being-executed-instead-code-shows-on-the-page) – Qirel

+0

Он показывает полный код в источник. – Kaylined

+0

do 'var_dump (__ dir __)', чтобы увидеть, что вы получаете – CodeGodie

ответ

1

В нашем обсуждении в чате, так как ваш php не поддерживает короткий тег открытия, вам нужно использовать полный нож. Короткий тег - причина, по которой ваш исходный код php отправляется напрямую в браузер, а не в php-движок.

Вы можете настроить свои настройки php, чтобы разрешить тег короткого открытия, но не рекомендуется по соображениям переносимости.

<? should be changed to <?php 

В качестве примечания более поздние версии PHP больше не нужен закрывающий тег в конце файла, так что может быть удален, если ваш PHP поддерживает его.

Смежные вопросы