用thinkPHP框架做的后台,但是我使用thinkPHP的验证码,自己写的,后台登录界面验证码显示不了,在本地wampserver运行完美,就是上传到服务器就不行了,还有验证码图片的路径,我看不懂'{:U("Admin/Login/verify",'','')}',这个路径在本地根本找不到,什么情况?求解决方法

解决方案 »

  1.   

    给出有效的 url
    或者给出浏览器中看到的 html 代码
      

  2.   

    右键浏览器,查看元素,看下图片的url,然后改,url肯定不对,url应该是U(‘模块名/控制器名/方法名/'); 
      

  3.   

    在浏览器审查元素,看看验证码的src是什么
      

  4.   

    让你给出 url,你却不愿意。反而取纠缠无关的问题!
    验证码图片本来就不会以文件方式保存的
    $url = 'http://www.xuexizhan.com.cn/xuyuan/index.php/Admin/Login/verify';
    $s = file_get_contents($url);
    echo bin2hex($s);efbbbf0aefbbbf89504e470d0a1a0a0000000d4948445200.......
    你的程序文件有 BOM 头,当然就不能显示成图片了
      

  5.   

    服务器配置问题而已 时区问题 php.ini date.timezone = PRC既然你本地可以用 说明代码没问题 要么就是PHP 版本  简单的方法 写个简单的验证码图片生成 上传服务器 测试
      

  6.   


    是一个路径给出哪个路径看看,是不是模板解析路径出错
    那我该怎么改,还有就是我用的是thinkphp框架,怎么改
      

  7.   

    虽然你不愿意给出这是的 url,但我还是充当了一回 OCR,从你 #3 的图片中得到了 url
    并已在 #9 给出了结论!
    如果你非要视而不见的话,那也只能独自躲在旮旯里流泪了
      

  8.   

     xu大兼职做OCR
      

  9.   

    版主说的意思让你去掉HTML的BOM头,一般只要php输出的不是图片(GDI Stream),BOM都不会导致问题,参考去除BOM头的方法:http://www.thinkphp.cn/topic/2592.html
      

  10.   

    在引入验证码的时候清除一下就可以了,ob_end_clean();
      

  11.   

    src="/index.php?m=Atm&c=Login&a=ma&res=20"   我的也是SRC是这个
      

  12.   

    1.查看路径文件是否存在?
    2.查看php的扩展有没有安装GD库
      

  13.   

    验证码前加ob_clean();清掉前面的输出,明显你的那个代码编码格式不对,8成是utf8-bom格式引起的.,加代码可以解决验证码的问题,,相关文件还是要找出来,不然别的地方或功能还是有问题的..
      

  14.   

    打开file_info扩展
      

  15.   

    三种思路排查:
    1.php_info()看gd库是否开启
    2.在验证码实例前使用ob_clean()清楚缓存
    3.注意看你的url路径下是否存在BOM头,如果有将页面和css这些拿到编辑器中去除BOM头就好了。
    4.如果线上的服务器环境和本地环境有差别,请注意环境的其他配置,例如路径/与\的差别