我已经构建了一个定制的MVC框架。它在本地正常工作,当我试图让它在一个实时共享主机服务器上工作时,我会得到以下错误:
浏览器中的错误消息:
致命错误:未发现错误:在/www/htdocs/user/project/public/index.php:19堆栈跟踪:#0 {main}抛入/www/htdocs/user/project/public/index.php中找不到类'App\Config‘
Composer.json文件:
{
"require": {
"filp/whoops": "^2.3",
"phpmailer/phpmailer": "^6.0"
},
"autoload": {
"psr-4": {
"Core\\": "core/",
"App\\": "app/"
}
}
}我的文件夹和文件结构:(整个项目在文件夹内:" project ")

Index.php文件
<?php
/**
* Front controller
*/
use App\Config;
/**
* Composer autoloading
*/
require dirname(__DIR__) . '/vendor/autoload.php';
/**
* Whoops Error and Exception handling
*/
if (Config::SHOW_ERRORS == true){
$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
$whoops->register();
}
/**
* Sessions
*/
session_start();
/**
* Routing
*/
$router = new Core\Router();
// Add the routes
$router->add('', ['controller' => 'Home', 'action' => 'index']);Config.php文件:
<?php
/**
* Application configuration
*/
namespace App;
class Config {
/**
* Database host
* @var string
*/
const DB_HOST = 'localhost';
/**
* Mail SMTP Port
* @var int
*/
const SMTP_PORT = '2525';
}我的部署到服务器的方法:
composer install (我也尝试过:composer install --no-dev)这个程序我已经重复了好几次了,但还是没有用。
发布于 2022-07-01 07:26:53
在我的例子中,这个问题是由于在Windows中使用符号链接造成的。我使用的是WAMP和PHP (4.2.1版本)。有些版本的CodeIgniter对此存在问题。
可能的原因:
我认为原因是file_exists函数的使用。在某些情况下,当路径包含具有特定字符的符号链接时,该函数返回FALSE。或者问题是对文件名进行消毒。
可能的解决办法:
解决方案5对我来说是最简单的。我不得不删除符号链接名中的方括号(),这解决了问题。
也许这对其他人有帮助。
https://stackoverflow.com/questions/54806935
复制相似问题