php错误
‘壹’ php代码出错,如何修改
这段代码不是函数,所以return是肯定出错的。应该用:
exit(); // 或者 die();
代替。
还有这段代码:
if(!$con){ echo "连接失败"; return;}
其实是没有效果的。如果Mysql连接失败,会直接Warning,这段代码最多在Warning后加一句“连接失败”,所以需要屏蔽错误消息,可以用:
// 放在最前面error_reporting(0);
来实现。
这段代码:
if($jifen>=5){ $wenjian = file_get_contents('./vip.txt'); echo $wenjian; return;}if($jifen>=30){ $wenjian = file_get_contents('./svip.txt'); echo $wenjian; return;}if($jifen>=100){ $wenjian = file_get_contents('./ssvip.txt'); echo $wenjian; return;}
实际上只会执行第一个>=5的判断。若>=5,在echo之后就退出了;若<5,那么后面的>=30和>=100就更不可能了。应该改为if...elseif结构。
P.S. 把数据明文放在文件里是不安全的,最好放在数据库。
还有,在最后,代码还多了一个},这也会报错。
谢谢!
‘贰’ 怎样设置php不显示错误
1、在php代码中直接使用:
error_reporting(E_ALL & ~E_NOTICE)。
2、或者:ini_set("error_reporting","E_ALL & ~E_NOTICE");
3、或者在php.ini这个配置文件中搜索display_errors = on改为off。
‘叁’ 这个php错误是什么
mysqli_connect 打开一个到 MySQL 服务器的新的连接 参数错误
‘肆’ PHP出现undefined错误
你的50行是这个:
if($_POST[submit]!=""){
应该修改为:
if($_POST['submit']!=""){
数组的下标要加上单引号。
‘伍’ php 运行错误
运行显示错误信息的意思是16行有语法错误,在你写小括号的地方,不需要小括号,需要都好或者分号。
不知道16行是什么内容,我觉得代码中下面代码可能不妥:
$pusher->appInfo = array(
$app_key => array(
'channel_hook' => "{$domain}/admin/event",
'app_secret' => $app_secret,
),
);
$app_key是否定义,如果没有定义这个变量,是不是应该是常量'app_key'
‘陆’ 是php文件里的错误
错误主要是编码问题,GBK,UTF-8 ,等对中文的编码显示的字节数是不同的,所以会报错,
反序列化之前把标记的字节数修改,就可以解决问题了
function mb_unserialize ($serial_str) {
$out = preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str );
return unserialize ($out);
}
还不知道如何解决,加我网络HI,我帮你
‘柒’ php错误好奇怪
出现这个提醒只不过是不太规范,不属于警告或错误范畴 多数部署里会配置不出现Notice提醒,当然如果对自己要求严格完全可以找到问题所在去解决掉 可以贴出class PDOStatement的代码来看下
‘捌’ 如何查看php代码语法错误
错误抑制符去掉错误信息,eval和echo一样并不是函数,不能使用变量函数的方法调用比如:$func = ‘eval’$func()这样的调用就是无效的。它会提示没有eval函数,如果你自己定义这么一个函数也是有问
错误抑制符去掉错误信息,eval和echo一样并不是函数,不能使用变量函数的方法调用比如:
$func = ‘eval’
$func()这样的调用就是无效的。它会提示没有eval函数,如果你自己定义这么一个函数也是有问题的。因为eval是一个关键字。
eval调用和include差不多,如果被包含文件中没有明确return就返回null。如果直接eval我们需要检查的文件会造成被检查的文件内代码被执行,这可不是我们想要的,我们只需要检查一下这个文件的语法是否正确。 我们可以在要检查的文件之前添加return 语句,让代码提前跳出,那么后面的代码就不会执行了。好的,就这么干。代码如下:
< ?PHP
if(!function_exists('PHP_check_syntax')) {
function PHP_check_syntax($file_name,
&$error_message = null) {
$file_content = file_get_contents($file_name);
$check_code = "return true; ?>";
$file_content = $check_code .
$file_content . "< ?PHP ";
if(!@eval($file_content)) {
$error_message = "file: " .
realpath($file_name) . " have syntax error";
return false;
}
return true;
}
}
if(!PHP_check_syntax("file.PHP", $msg)) {
echo $msg;
}
else {
echo "Woohoo, OK!";
}
< ?PHP
foreach:: a => b
?>
因为Parse error 是没法被 set_error_handler处理函数处理的。这个异常没办法catch到。所以才使用了@来抑制错误。这带来的问题就是我们无法得到详细的错误信息。 不过目前我需要的功能也只是检查语法是否正确。不正确的话重新编译模板文件,就这么简单,至于语法错误,在显示网页的时候自然会看得到。
PHP检查语法错误最好的办法就是这个被遗弃的PHP_check_syntax这个方法回到PHP中。下次再研究下他们是出于什么原因把这个函数去掉的。
‘玖’ PHP没有错误提示
PHP没有错误提示是设置错误造成的,解决方法为;
1、确认了PHP的配置文件的路径之后,在文本编辑器打开该文件。
‘拾’ php 代码错误
你看下你的php.ini配置中的GD库模块是不是没加载,或者你用phpinfo()函数看下 有没GD