0

我将已获得的 Web 界面(适用于其他系统)粘贴到一个开关上,该开关恰好位于 php/soap 中。

我收到这个错误

Warning: require(/class_main.php) [function.require]: failed to open stream: No such file or directory in /jffs2/usbflash0/ran/www/includes/config.php on line 4

Fatal error: require() [function.require]: Failed opening required '/class_main.php' (include_path='.:') in /jffs2/usbflash0/ran/www/includes/config.php on line 4

配置.php:

<?php^M
        require($_SERVER['DOCUMENT_ROOT'].'/includes/errors.php');^M
        require($_SERVER['DOCUMENT_ROOT'].'/includes/library.php');^M
        require(get_structures_directory().'/class_main.php');  ^M
        error_log(get_structures_directory());
        require(get_structures_directory().'/class_softcore.php');^M
        require($_SERVER['DOCUMENT_ROOT'].'/includes/format.php');^M
?>^M

在这里寻找class_main.php:

1.0.1/  1.0.3/  2.0.5/  2.0.7/  3.0.10/ 3.0.12/ 3.0.3/  3.0.5/  3.0.7/  3.0.9/
1.0.2/  1.0.4/  2.0.6/  3.0.1/  3.0.11/ 3.0.2/  3.0.4/  3.0.6/  3.0.8/

现在class_main.php在其中一些版本文件夹中,而不是在其中一些文件夹中。这里有什么问题?它是否试图使用它所在的文件夹之一?

4

1 回答 1

1

那么首先 class_main.php 必须在所有文件夹中,因此应用程序不会在任何实例中失败。如果不太可能,您可以检查版本并仅在这种情况下需要,例如

switch($version)
{
    case "1":
    case "2":
         require($file_path);
         break;

} 

您也可以使用 include 而不是 require ,这会给您警告而不是错误,但是特别是在纯 php 库上是不可取的,因为它会给应用程序带来未定义的行为。

于 2013-05-17T11:52:30.690 回答