升级到PHP 5.3.6

我刚刚升级到开箱的OSX狮子有PHP 5.3.6(从雪豹)。

现在我的Yii网站被打破了。 我怎么知道现在破解的代码是一个一个找出来的? 为什么下面的代码被破坏? 有什么我可以打开php.ini文件来克服这些事情? 我需要回去工作,但不想回到雪豹这样做。 将不胜感激帮助/指导。

以下是一些错误:

使用未定义的常量样式 – 假设“风格”上

'htmlOptions'=>array(style=>'cursor: pointer;'), 

通过将“风格”

 'htmlOptions'=>array('style'=>'cursor: pointer;'), 

尝试获取非对象的属性(在CJuiTabs内)

'Title' =>$this->renderPartial("_details", array('model' => $model), $this),

不知道如何解决这个问题

使用未定义的常量Y – 假定“Y”(在CGridView数据提供者内)

 $dataProvider = new CActiveDataProvider('Bus', array( 'criteria'=>array( 'with' => array( 'address' => array( 'on'=>'busAddresses.Id='.$model->Id.' AND busAddresses.IsPhysical="'.Y.'"', 

不知道如何解决这个问题

既然你在其他地方暗示你得到的错误信息多于你发布的那几个,我会假设你没有发布的错误之一就是这样的:

警告:不能修改标题信息 – 已经发送的标题

由于你所看到的所有这些消息的根本原因在你的新版本的PHP下并没有什么不同,所以configuration设置很可能是因为这个差异而导致的。 特别是, display_errors设置,它只是简单的控制是否所有的错误,警告和通知的消息将被打印到屏幕上。

Apple的默认php.ini文件将display_errors设置为Off,但是您需要将/etc/php.ini.default移至/etc/php.ini以使该文件起作用。 /etc/php.ini不会在OS X升级过程中结束,因此您将丢失该设置。

  AND busAddresses.IsPhysical="'.Y.'"', 

Y是你的情况下的一个string,所以用它作为一个string:

  AND busAddresses.IsPhysical="Y"',