日期:2014-05-17  浏览次数:20397 次

Undefined variable求助。
最近遇到一个Undefined variable的问题。
2台不同的电脑,一台电脑安装了 PHPnow ,可以正常显示,另一台电脑手动安装 php5.3, apache2, mysql5.5 ...

错误地方在

foreach(...){// mysql query 
$php .= '<div>'.$row[ctc].'</div>';//这一行报错
}
echo $php;

问题在php.ini设置,PHPnow可能优化过php.ini,而官方的php5.3没有做任何的优化。

原因是:默认的php.ini 不允许 $php. 直接使用,需要在 foreach外 进行一次定义,  

$php = '';//这样就通过了
foreach(...){// mysql query 
$php .= '<div>'.$row[ctc].'</div>';
}
echo $php;

请问 新任班长: php.ini 哪段代码里设置这一方面的呢?



------解决方案--------------------
error_reporting = E_ALL
修改为error_reporting = E_ALL & ~E_NOTICE
------解决方案--------------------
实际上这不算报错,这只是一个提示,这个改动你说对了,是从5.x的某个版本后新增的,解决的方法有很多,比较消极的做法是修改 php.ini 关闭掉错误提示,或者修改错误提示的等级。比较积极的做法是你的那种先定义变量.
如果对于传递过来的值你可以使用isset 做一个判断即可。
这个问题也算是10大常问问题之一了,稍后我会整理一个比较常见的问题汇总帖子。