TP5 windows上已经能完整运行,但是放到linux服务器上一直报错

th_php 2018-04-20 08:44:52
我的验证码,能正常展示,但是验证的时候提示是
composer 应该安装是正确的,因为我不同的windows机子上都能跑,文件权限全部是777,
但是验证就是提示:
Class 'app\Admin\Controller\Captcha' not found


$username = $_POST['username'];
$password = $_POST['password'];
$captcha = $_POST['captcha'];

$Captcha = new Captcha;
$Check = $Captcha->CheckCap($captcha);

if($Check) {

$Adminusers = model('Adminuser');
$result['check'] = $Adminusers->CheckLogin($username,$password);

...全文
1519 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2018-04-24
  • 打赏
  • 举报
回复
引用 13 楼 qq_40729326 的回复:
命名规范按照这个来,你确定路径没问题,那就只有命名大小写的问题了,,,linux在这方面比windows要求苛刻,建议先把命名空间中Admin改为小写,而不是和对应文件夹简单统一
谢谢,我一会试试
  • 打赏
  • 举报
回复

命名规范按照这个来,你确定路径没问题,那就只有命名大小写的问题了,,,linux在这方面比windows要求苛刻,建议先把命名空间中Admin改为小写,而不是和对应文件夹简单统一
「已注销」 2018-04-23
  • 打赏
  • 举报
回复
引用 11 楼 komyluo 的回复:
命名空间中Admin是大写开头,对应的文件夹却是小写 改为一致
我改了,没效果啊
komyluo 2018-04-22
  • 打赏
  • 举报
回复
命名空间中Admin是大写开头,对应的文件夹却是小写 改为一致
「已注销」 2018-04-22
  • 打赏
  • 举报
回复
引用 7 楼 dzyweer 的回复:
你不指出命名空间 默认在当前命令空间去找文件了,发现没找到
<?php
namespace app\Admin\Controller;

use think\Controller;
use app\Admin\Model;
use think\Session;

//后台登录类
class Login extends Controller  {

    public function index()	{       	//登录页展示
    	
    	return $this->fetch();
    }

    public function Ajaxlogin() {			//验证登录

		$username = $_POST['username'];
		$password = $_POST['password'];
		$captcha = 	$_POST['captcha'];

		$Captcha = new Captcha;
		$Check = $Captcha->CheckCap($captcha);

		if($Check) {

    		$Adminusers = model('Adminuser');
			$result['check'] = $Adminusers->CheckLogin($username,$password);

			if($result['check']) {

				Session::set('Adminer',$username);	//登录成功
			}
			else {

				$result['content'] = '账号信息有误!';
			}
		}
		else {

			$result['content'] = '验证码错误!';
		}

		return $result;
    }
}
这是我的验证文件
「已注销」 2018-04-22
  • 打赏
  • 举报
回复
引用 7 楼 dzyweer 的回复:
你不指出命名空间 默认在当前命令空间去找文件了,发现没找到
<?php
namespace app\Admin\Controller;

use think\Controller;

class Captcha extends Controller {

	public function CheckCap($captcha = '') {

		if(!captcha_check($captcha)) {

			return false;
		}
		else {
			return true;
		}
	}
}
这是我的Captcha文件,我在windows上就是正常的
「已注销」 2018-04-22
  • 打赏
  • 举报
回复
文件名用了的

引用 5 楼 xuzuning 的回复:
文件命名也要 驼峰法!
xuzuning 2018-04-21
  • 打赏
  • 举报
回复
文件命名也要 驼峰法!
董哥007 2018-04-21
  • 打赏
  • 举报
回复
你不指出命名空间 默认在当前命令空间去找文件了,发现没找到
董哥007 2018-04-21
  • 打赏
  • 举报
回复
你那个验证码 类是不是文件没被加载到啊
「已注销」 2018-04-20
  • 打赏
  • 举报
回复
「已注销」 2018-04-20
  • 打赏
  • 举报
回复
引用 2 楼 xuzuning 的回复:
文件名的大小写
控制器要驼峰法的,必须要大写开头,不然访问不到,我其他的也是驼峰法弄的,真的很蒙圈
xuzuning 2018-04-20
  • 打赏
  • 举报
回复
文件名的大小写
「已注销」 2018-04-20
  • 打赏
  • 举报
回复

这里是这个文件的上面部分

namespace app\Admin\Controller;

use think\Controller;
use app\Admin\Model;
use think\Session;

//后台登录类
class Login extends Controller  {

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧