Comment résoudre le problème de l'échec du chargement automatique de la classe php

藏色散人
Libérer: 2023-03-12 19:36:02
original
2324 Les gens l'ont consulté

php类自动加载失败的解决办法:1、打开相应的PHP代码文件;2、添加“$class = str_replace("\\","/",$class);”代码即可。

Comment résoudre le problème de l'échec du chargement automatique de la classe php

本文操作环境:windows7系统、PHP7.1版、Dell G3电脑。

如何解决php类的自动加载失败问题?

PHP 命名空间下的自动加载失败

场景描述

文件在本地win系统下测试无异常,代码如下:

function stu_autoload($class){


    if(file_exists($class.".php")){        require ( $class.".php");
    }else{        die("unable to autoload Class $class");
    }
}

spl_autoload_register("stu_autoload");
Copier après la connexion

部署到Ubuntu服务器上异常,报错为 unable to autoload Class xxxxxx

解决方案

根据报错,发现 $class 的值需要形如 stuApp\dao\StuInfo 才可行, 文件路径需要将 \ 转义成 /,因此添加一行代码即可。

    $class = str_replace("\\","/",$class);
Copier après la connexion

综上,修改后的自动加载代码如下:

function stu_autoload($class){
    //路径转义
    $class = str_replace("\\","/",$class);    if(file_exists($class.".php")){        require ( $class.".php");
    }else{        die("unable to autoload Class $class");
    }
}

spl_autoload_register("stu_autoload");
Copier après la connexion

推荐学习:《PHP视频教程》  

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal