在使用o2switch主机的PHP中,require函数的路径出现问题



我已经上传网站到o2switch主机。当我在localhost上工作时,一切都很顺利。但是在o2switch上,我有这个错误:

Warning: require_once(models/shopManager.class.php): failed to open stream: No such file or directory in /home/myUserNameo2switch/myDomain.fr/controllers/ShopController.controller.php on line 2
Fatal error: require_once(): Failed opening required 'models/shopManager.class.php' (include_path='.:/opt/alt/php73/usr/share/pear') in /home/myUserNameo2switch/myDomain.fr/controllers/ShopController.controller.php on line 2

我使用MVC模型,文件结构如下:

index.php
-controllers
-ShopController.controller.php
-models
-shopManager.class.php

在我的index.php中:

require_once "controllers/ShopController.controller.php";
$shopController = new ShopController();

在ShopController.controller.php中,我这样做:

require_once "models/shopManager.class.php";

在o2switch PHP设置(我认为类似于PHP .ini)中,有一个包含路径的配置等于。:/opt/alt/php73/usr/share/pear

问题是来自include_path值吗?

这是我第一次在网上工作,也是我在这里的第一个问题。如果我笨手笨脚的,很抱歉。谢谢你

ShopController.controller.php中,您可以尝试更改

require_once "models/shopManager.class.php";

require_once "../models/shopManager.class.php";

查看错误信息是否消失。

谢谢你的回答。它不工作。

我的毛病解决了。我遇到了一个麻烦,在require_once上调用文件和文件之间的大写字母而不是大写字母……(

最令人惊讶的是我在本地没有错误。

最新更新