spl_autoload_register() 未定义

问题描述 投票:0回答:1

我目前正在将一些 php 代码从 XAMPP 移动到我的 apache 服务器。 spl_autoload_register() 函数在 XAMPP 中按预期工作,但在我的 apache 服务器上不工作。我不断收到以下错误:“调用 [文件路径] [堆栈跟踪] 中未定义的函数 spl_autoload_register()。”我目前使用 PHP 版本 8.2.7,根据 phpinfo()。我对此一无所知。任何帮助将不胜感激。

这是我的 bootstrap.php,它正在调用自动加载函数。

<?php
    //App root path
    define('APP_ROOT', 'path');

    //Required files
    require APP_ROOT . 'pathToConfigFile';
    require APP_ROOT . 'pathToFunctionsFile';

    //Set autoload function
    spl_autoload_register(function($class) {
        $path = APP_ROOT . 'pathToClassesFolder';
        require $path . $class . '.php';
    });
?>

我想在添加其他任何内容之前仅在索引文件中测试 bootstrap.php 文件(以确保我的路径正确)。因此,当前没有文件对自动加载器进行任何调用,只有 bootstrap.php 文件。

到目前为止,我还没有尝试太多。我知道还有一些其他自动加载选项,但我想坚持使用 spl,因为我最熟悉它。如果解决方案包括另一个自动加载选项,我想我只需要咬紧牙关。

php apache
1个回答
0
投票
  • 鉴于该消息,我认为 spl 模块未安装或未启用,请分别检查扩展目录和 php.ini 文件。如果没有提到,很可能它甚至还没有安装!有关添加和配置 PHP 扩展的更多详细信息,请参阅 PHP 站点。
  • 还有许多其他可能缺失的 php 扩展突出显示 - 其中最重要的是 mysqli - 确保它已安装和/或启用。
  • 还有突出显示的 Apache 模块,您需要调查这些模块是否存在问题。有关正确配置服务器的信息,请参阅 Apache 服务器站点。
  • 虽然您可能拥有实现安装的最低 AMP 基本型号,但服务器显然配置不正确。
© www.soinside.com 2019 - 2024. All rights reserved.