解决办法
第一种方法、 把php.ini的display_errors = on改成display_errors = off (不显示错误)
第二种方法、allow_call_time_pass_reference = Off 变成 allow_call_time_pass_reference = On
上面是对php.ini进行修改,但是如果你没有权限可以修改程序,下面我举个简单的例子
可能出现问题的
代码如下 | 复制代码 |
function test1($a,$b){ $b = "fun_test1"; return; } $a = "a_value"; $b = "b_value"; test1($a,&$b); |
不会有问题出现
代码如下 | 复制代码 |
function test2($a,&$b){ $b = "fun_test2"; return; } $a = "a_value"; $b = "b_value"; test2($a,$b); |
关闭 PHP 提示的方法
搜索php.ini:
代码如下 | 复制代码 |
error_reporting = E_ALL |
改为:
代码如下 | 复制代码 |
error_reporting = E_ALL & ~E_NOTICE |
还有个不是办法的办法就是
在每个文件头上加
error_reporting(0); 虽然不好弄但是可以解决问题
如果没有修改php.ini权限的朋友可参考我的方法来解决
源文件:
代码如下 | 复制代码 |
$room[name] = $Name; |
改成
代码如下 | 复制代码 |
$room['name'] = $Name; |
一、编码范围
1. GBK (GB2312/GB18030)
x00-xff GBK双字节编码范围
x20-x7f ASCII
xa1-xff 中文
x80-xff 中文
2. UTF-8 (Unicode)
u4e00-u9fa5 (中文)
x3130-x318F (韩文
xAC00-xD7A3 (韩文)
u0800-u4e00 (日文)
ps: 韩文是大于[u9fa5]的字符
例
代码如下 | 复制代码 |
$c = '测试•字符传换•五一快乐!'; echo iconv('utf-8', 'gbk',$c); |
只会输出: 测试 后出全会丢失"."
解决方法:
加 //IGNORE
代码如下 | 复制代码 |
$c = '测试•字符传换•五一快乐!'; echo iconv('utf-8', 'gbk//IGNORE',$c); |
输入出:测试字符传换五一快乐!
例2
代码如下 | 复制代码 |
<?php echo $str= ‘你好,这里是卖咖啡!'; echo '<br />'; echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8 echo '<br />'; echo iconv_substr($str, 1, 1, 'UTF-8'); //按字符个数截取而非字节 print_r(iconv_get_encoding()); //得到当前页面编码信息 echo iconv_strlen($str, 'UTF-8'); //得到设定编码的字符串长度 ?> |
配置如下:phpmyadmin/config.inc.php
代码如下 | 复制代码 |
<?php |
如果你的phpmyadmin中没有config.inc.php 这个文件我们要找到 phpMyAdmin 文件中有一个文件“config.sample.inc.php”,然后重命名为“config.inc.php”上传服务器。
然后把
代码如下 | 复制代码 |
$cfg['blowfish_secret'] = ”; |
或其它值即可
上面介绍的是windows如果是linux中的怎么解决
那么CentOS下安装的phpmyadmin中的“$cfg['blowfish_secret'] =”语句在config.inc.php里
代码如下 | 复制代码 |
vim /usr/share/phpmyadmin/config.inc.php |
找到
代码如下 | 复制代码 |
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ |
在=后面加上任意字符
代码如下 | 复制代码 |
$cfg['blowfish_secret'] = 'pooy'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ |
pooy是我随意加上的字符
可以使用session的朋友有经常会碰到Warning: session_start() [function.session-start]错误提示了,这个问题其实就是在session之前有数据输入了,解决办法很简单下面我来给大家总结。我的电脑中的错误提示
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:APMServ-v5.2.6APMServ5.2.6wwwhtdocsKingNerOAuserUserKqManage.php:1) in D:APMServ-v5.2.6APMServ5.2.6wwwhtdocsKingNerOAusercheckaccess.php on line 2
原因就是前面有输出
解决办法:
修改php.ini中的session.auto_start = 0 为 session.auto_start = 1
output_buffering =改为on或者任何数字。
linux中解决办法
解决办法:
方法1、注释掉/etc/php.ini中
session.save_path = “/var/lib/php/session”
方法2、查看apache用户和组,然后将该用户加到session文件夹所处的组中。
方法3,在session_start() 前不要有任何输出!
错误提示2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:phpcodeadmin.php:1) in E:phpcodelogolistadminlogo.php on line 2
就是 session变量需要系统的临时空间
session.save_path = "设置一个有效文件夹的绝对路径"
(比如 session.save_path = "C:WINDOWStemp" )
session.save_path =前面的 ' ; ' 号去掉
另外编辑该文件夹的权限 添加EVERYONE 有写入修改权限即可 !