我正在使用namecheap托管我的网站。我在本地计算机上使用了psr-4自动加载功能,但在正常运行的服务器上却无法正常工作。我已与客户支持联系起来,并按照CUDA, mutex and atomicCAS()此处的所有说明进行操作,该站点仅显示空白页。看来我的课程没有自动加载。
这是我的composer.json文件
{
"name": "webama/webama",
"type": "project",
"description": "The Webama Framework.",
"keywords": [
"framework",
"webama"
],
"autoload": {
"psr-4": {
"App\\": "app/"
}
}
}
我的application.php
namespace App\Framework;
class Application
{
protected $controller = DEFAULT_CONTROLLER;
protected $action = 'index';
protected $params = [];
public function __construct()
{
$this->parseURL();
if(file_exists(CONTROLLERS.$this->controller . '.php'))//'../app/controllers/'
{
$this->controller = 'App\controllers\\' . $this->controller;//App\controllers\
$this->controller = new $this->controller;
if(method_exists($this->controller, $this->action))
{
call_user_func_array([$this->controller, $this->action], $this->params);
}else{
echo "<h1>404 Not Found</h1>";
}
}
else{
echo "<h1>404 Not Found</h1>";
}
}
protected function parseURL()
{
$request = trim($_SERVER['REQUEST_URI'], '/');
if(!empty($request))
{
$url = explode('/', $request);
$this->controller = isset($url[0]) ? $url[0]. 'Controller' : DEFAULT_CONTROLLER;
$this->action = isset($url[1]) ? $url[1] : 'index';
unset($url[0], $url[1]);
$this->params = !empty($url) ? array_values($url) : [];
}
}
}
我的index.php
require_once '../config/bootstrap.php';
use App\Framework\Application;
use App\Repositories\usersSessionRepository;
use App\Repositories\UserRepository;
new usersSessionRepository;
$user = new UserRepository();
$user->getRefIdFromUrl();
new Application;
我的bootstrap.php
session_start();
require_once '../config/config.php';
require_once ROOT . 'app'.DS.'helpers'.DS.'helpers.php';
require_once __DIR__ . '/../vendor/autoload.php';
还有我的配置文件
// Site settings
define('BASE', 'https://orientFx.com');
define('DS', DIRECTORY_SEPARATOR);
define('ROOT', dirname(__DIR__) . DS);
define('STORAGE', ROOT. 'storage' . DS);
define('CONTROLLERS', ROOT . 'app' . DS . 'controllers' . DS);
define('VIEWS', ROOT . 'app' . DS . 'views' . DS);
define('REPOSITORIES', ROOT . 'app' . DS . 'repositories' . DS);
define('DEFAULT_CONTROLLER', 'homeController');
// Site settings
define('DEFAULT_LAYOUT', 'default');
define('SITE_TITLE', 'Trade Fx');
// Debug settings
define('DEBUG', true);
// DB settings
define('DB_HOST', '127.0.0.1'); //Database host
define('DB_NAME', 'mvc'); //Database name
define('DB_USER', 'root'); //Database user
define('DB_PASSWORD', ''); //Database password
// Session settings
define('SESSION_NAME', 'user');
define('TOKEN_NAME', 'token');
// Session settings
define('COOKIE_NAME', 'hash');
define('COOKIE_EXPIRY', '604800');
一切都可以在localhost上正常运行,但不能在实时服务器上运行。我遵循了所有指示。在我的公用文件夹上安装了作曲家,但似乎无济于事。