PHP中未找到随机类错误

PHP中未找到随机类错误,php,laravel,composer-php,autoload,laravel-artisan,Php,Laravel,Composer Php,Autoload,Laravel Artisan,我们在php(使用xampp的windows 7)中遇到随机错误: PHP致命错误:找不到类[我的类的名称] 该类存在,并且对同一调用的HTTP请求在99%的时间内有效,但有时会出现此错误。为什么? 更新: 我已经运行了composer dump autoload,映射在autoload_psr4.php文件中 但是,我发现还有一个映射以相同的路径开始,但文件夹无效,例如: 我的类是:Path/SubPath/ClassX 在autoload_psr4.php中,我有(按照相同的顺序): 这里的

我们在php(使用xampp的windows 7)中遇到随机错误:

PHP致命错误:找不到类[我的类的名称]

该类存在,并且对同一调用的HTTP请求在99%的时间内有效,但有时会出现此错误。为什么?

更新:

我已经运行了composer dump autoload,映射在autoload_psr4.php文件中

但是,我发现还有一个映射以相同的路径开始,但文件夹无效,例如:

我的类是:
Path/SubPath/ClassX

在autoload_psr4.php中,我有(按照相同的顺序):


这里的问题是:在第二个条目中,
$baseDir/src
文件夹不存在。这能解释为什么我会出现随机错误吗?(通过有时获取第二个映射而不是第一个映射)

我认为您需要运行:
composer dump autoload

编写器转储自动加载将重新生成 需要包含在项目中的所有类的列表 (autoload_classmap.php)。非常适合有新类的情况 你的项目

然后运行以下三个命令:

php artisan clear-compiled 
composer dump-autoload
php artisan optimize

这将清除当前编译的文件,更新所需的类,然后将它们写回,这样您就不必再这样做了。

这是一个特定于laravel的问题。尝试以下命令:

composer dump-autoload -o
php artisan clear-compiled
php artisan optimize

显示您的代码以帮助您尝试了
composer dump autoload
?您可以在
composer.json
中共享自动加载配置吗?@J-Y您解决过这个问题吗?我也有同样的问题。有没有可能对你正在谈论的这个具体问题有更多的细节。因为我想了解为什么我随机得到这个,为什么这些命令可以解决这个问题。我认为这只是artisan中一个非常老的(>2年)错误。当您升级到laravel的下一个版本时,就会发生这种情况。artisan命令正在破坏services.json。我没有使用Laravel,所以这似乎不是特定于Laravel的。我在开发过程中不使用静态自动加载器,所以这也不能解释它。我在触发多个请求的页面上随机出现了这个问题——因此似乎在某个地方存在某种竞争条件,可能在自动加载程序或PHP本身中。(我不知道过时的自动加载程序如何解释随机类无法加载的原因——如果这是原因,那么同一个类将始终无法加载。)
composer dump-autoload -o
php artisan clear-compiled
php artisan optimize