zoukankan      html  css  js  c++  java
  • 在IIS下部署Thinkphp项目,验证码不能显示的解决办法

    由于公司租用的是虚拟空间,而且用的是IIS服务器,所以部署PHP的时候就出现很多问题:比如昨天就碰到这个问题:在IIS下部署Thinkphp项目,验证码不能显示

    这是生成验证码的方法:

    // 制作专门方法实现验证码生成
        function verifyImg() {
            // 以下类Verify在之前并没有include引入
            // 走自动加载Think.class.php autoload()
            $config = array (
                    'useNoise' => false,
                    'imageH' => 35, // 验证码图片高度
                    'imageW' => 100,
                    'fontSize' => 14,
                    'fontttf' => '4.ttf', // 验证码字体,不设置随机获取
                    'length' => 4 
            ) // 验证码位数
    ;
            $verify = new ThinkVerify ( $config );
            $verify->entry ();
        }

    然后再apache下可以,但是在IIS下就是不行,看网上说的最多的是去掉BOM头就可以了,但是我用UE保存为不带BOM头的还是不行

    今天终于解决了:

    在生成验证码之前:加上ob_clean

    // 制作专门方法实现验证码生成
        function verifyImg() {
            // 以下类Verify在之前并没有include引入
            // 走自动加载Think.class.php autoload()
            $config = array (
                    'useNoise' => false,
                    'imageH' => 35, // 验证码图片高度
                    'imageW' => 100,
                    'fontSize' => 14,
                    'fontttf' => '4.ttf', // 验证码字体,不设置随机获取
                    'length' => 4 
            ) // 验证码位数
    ;
            ob_clean();
            $verify = new ThinkVerify ( $config );
            $verify->entry ();
        }

    就OK了,当然这些是在开启GD库的前提下

  • 相关阅读:
    JDK1.8中对hashmap的优化
    ShutdownHook作用
    【工作相关】常用Shell命令
    [技术学习]收藏技术博客
    【技术学习】Mongo Administration
    【技术学习】saltstack 笔记(一) --匹配Minion
    【工作相关】个人常用脚本及代码
    【工作相关】常用工具
    【现场问题】add trust cert into JAVA_HOME
    【工作相关】替换Rancher证书
  • 原文地址:https://www.cnblogs.com/Steven-shi/p/5445379.html
Copyright © 2011-2022 走看看