У меня есть этот код, который работает в локальном, но не работает на моем сервере, я папка называется платформой путь /var/www/html/platform
Autoload + пространство имена работает в локальном хосте, но не работает в сервере
платформа/.htaccess
AcceptPathInfo On
RewriteEngine on
RewriteBase /var/www/html/platform/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?request=$1 [L,QSA]
plataform/autoload.php
function __autoload($className) {
$file = $className . '.php';
if(file_exists($file)) {
require_once $file;
}else{
//fail
}
plataform/index.php
include ('autoload.php');
$controller = new application\controllers\Controller();
plataform/приложение/контроллеры/Controller.php
namespace application\controllers;
class Controller{
}
В моем локальном хосте работает этот код, но в моем сервере я получаю следующее сообщение:
Fatal error: Class 'application\controllers\controller' not found in /var/www/html/platform/index.php on line 12
Как я могу решить эту проблему? Я использую Ubuntu PHPMyAdmin on 14.04 (Digital Ocean)
.
Соответствует ли ваша автозагрузка стандарту PSR-4? Кроме того, вы смотрите в spl_autoloading. –
@MueyiwaMosesIkomi PSR-4 стандарт? spl_autoloading? Это новое для меня ... Я не понимаю, о чем вы говорите ... У вас есть учебник или что-то подобное? – Lacrifilm
Я собираюсь опубликовать ответ о том, как я обрабатываю свою автозагрузку, работает везде, где я реализую –