TP5.1.35 致命错误: Class 'think\captcha\Captcha' not found的解决方法

步骤

  • 1、下载安装captcha,(注意TP5.1是2.0版本的)
  • 2、拿到think-captcha放到verndor/topthink下
  • 3、打开vendor/composer/autoload_psr4.php
  • 4、composer下添加autoload_files.php
  • 5、编辑autoload_static.php
  • 6、编辑autoload_real.php
  • 7、好了,可以正常调用了

1、下载安装captcha,(注意TP5.1是2.0版本的)

composer require topthink/think-captcha 2.*

2、拿到think-captcha放到verndor/topthink下

TP5.1.35 致命错误: Class 'think\captcha\Captcha' not found的解决方法_第1张图片

3、打开vendor/composer/autoload_psr4.php

加入 ‘think\captcha\’ => array($vendorDir . ‘/topthink/think-captcha/src’),
autoload_psr4.php

return array(
    'think\\composer\\' => array($vendorDir . '/topthink/think-installer/src'),
    'think\\captcha\\' => array($vendorDir . '/topthink/think-captcha/src'),
    'app\\' => array($baseDir . '/application'),
);

4、composer下添加autoload_files.php

TP5.1.35 致命错误: Class 'think\captcha\Captcha' not found的解决方法_第2张图片

autoload_files.php

 $vendorDir . '/topthink/think-captcha/src/helper.php',
);

5、编辑autoload_static.php

添加以下代码
TP5.1.35 致命错误: Class 'think\captcha\Captcha' not found的解决方法_第3张图片

 public static $files = array (
        '1cfd2761b63b0a29ed23657ea394cb2d' => __DIR__ . '/..' . '/topthink/think-captcha/src/helper.php',
    );
    ...
    array (
          'think\\composer\\' => 15,
          'think\\captcha\\' => 14,
     ),
     ...
     'think\\composer\\' => 
        array (
            0 => __DIR__ . '/..' . '/topthink/think-installer/src',
        ),
        'think\\captcha\\' => 
        array (
            0 => __DIR__ . '/..' . '/topthink/think-captcha/src',
        ),

6、编辑autoload_real.php

查看自己autoload_static.php类名,并添加添加函数composerRequirec6c13346c3bda597899f762f41f5ad54调用
TP5.1.35 致命错误: Class 'think\captcha\Captcha' not found的解决方法_第4张图片

TP5.1.35 致命错误: Class 'think\captcha\Captcha' not found的解决方法_第5张图片

public static function getLoader()
{

...
$loader->register(true);

if ($useStaticLoader) {
    $includeFiles = Composer\Autoload\自己的autoload_static.php的类名::$files;
} else {
    $includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
    composerRequirec6c13346c3bda597899f762f41f5ad54($fileIdentifier, $file);
}

return $loader;
}

//添加函数
function composerRequirec6c13346c3bda597899f762f41f5ad54($fileIdentifier, $file)
{
    if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
        require $file;

        $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
    }
}

7、好了,可以正常调用了

TP5.1.35 致命错误: Class 'think\captcha\Captcha' not found的解决方法_第6张图片
结果:
TP5.1.35 致命错误: Class 'think\captcha\Captcha' not found的解决方法_第7张图片

你可能感兴趣的:(thinkphp5.1)