这个验证码非thinkphp自带的,该网站在本地电脑(win8.1)和其他win2003上正常显示,可传到服务器a就出现这错误
服务器a之前有使用过dz论坛,5.2.17 php版本,这要如何排错?请教,谢谢
回复讨论(解决方案) 在图片输出前加这句
header('content-type:image/gif');
在图片输出前加这句
header('content-type:image/gif');
谢谢,加上后还是同样的错误,是不是php.ini文件设置的原因?
这程序在别的服务器上都正常 echo base64_encode(file_get_contents('验证码程序的url'));
贴出结果
将header那句注释掉报错了没有?
echo base64_encode(file_get_contents('验证码程序的url'));
贴出结果
77u/r0lgoddhmgawakeaan//fwrkzefodqaaacwaaaaamgawaaacloypqsmy/4cctaihmcxa+mp8x1c1kylayzpyf8mqquyjthyxjbyl65wz2ird0ozuscarng4vs9xmfp6mxvpe+o6jkwmblvkoqojgexabp2ttrqguvrzvhmoyr9n7/pvlpcfg5veg15gxfmv0jnl3prhebqgfbzmce9q1eykzsysofco6slpqmtwz4rm4guaaacvwggtraaa7 请去掉验证码程序的 bom 头
至于在别的机器上是正确的,并不能说明什么
你的这个程序在上传到 服务器a之前(后)用记事本做过了编辑
是不是php.ini设置有误?
已经开启extension=php_gd2.dll
图片中的错误我是直接访问index.php?m=public&a=verify这样的地址出现的乱码,
本机访问这地址时,是显示图片验证码的
请去掉验证码程序的 bom 头
至于在别的机器上是正确的,并不能说明什么
你的这个程序在上传到 服务器a之前(后)用记事本做过了编辑
刚用ue把index.php、image.class.php、login.html、publicaction.class.php都另存为utf-8 无bom,还是把这个错。
崩溃
老徐已经说了去掉bom头 如果不了解什么是bom头 百度一下
$s = base64_decode('77u/r0lgoddhmgawakeaan//fwrkzefodqaaacwaaaaamgawaaacloypqsmy/4cctaihmcxa+mp8x1c1kylayzpyf8mqquyjthyxjbyl65wz2ird0ozuscarng4vs9xmfp6mxvpe+o6jkwmblvkoqojgexabp2ttrqguvrzvhmoyr9n7/pvlpcfg5veg15gxfmv0jnl3prhebqgfbzmce9q1eykzsysofco6slpqmtwz4rm4guaaacvwggtraaa7');echo bin2hex($s);
efbbbf47494638376132001600a10000dfff7d6464644168750000002c00......
这个 efbbbf 就是 utf-8的 bom 头