我有Yii框架的问题,一切都在本地工作jz很好,但当我试图将我的应用程序移动到另一个系统时,一些视图显示错误,如'未定义的变量'。 任何人都知道这个问题。
我在yii中发现了一些类似的问题,但没有一个为我提供正确答案。
实际上我有2个下拉框,第一个是从模型中获取值,如果我们从第一个下拉列表中选择1,它将过滤结果并显示在第二个下拉列表中(ajax调用),两个下拉框使用不同控制器动作
在firezilla中,我收到请求的500内部服务器错误,后面的图像包含日志作为响应。
答案 0 :(得分:2)
有关未定义变量的错误,可能始终存在,但由于error_reporting
和display_errors
配置指令的值不太严格而未显示。
未定义的变量通常不会导致500内部服务器错误。有关这些错误的详细信息,请参阅Web服务器的日志文件。
答案 1 :(得分:1)
如果您在本地开发计算机上使用PHP 5.2并且其他系统使用5.3,则会发生这种情况。 在5.3中如果有一些未定义的变量(在你的情况下为$ result),PHP会在默认情况下向你发出通知 。
几年前,当我将Yii项目从5.2移动到5.3时,我得到了很多这些。
答案 2 :(得分:1)
我有完全相同的问题。我的ajax网站在localhost中完美运行。但是当我将它上传到服务器时,我意识到ajax请求在哪里不能正常返回500内部错误。当我点击网址时,它表示未定义的变量。 解决方案:检查ajax请求的url: 之前:
echo CHtml::textField('idsearch', '', array(
'onKeyUp' => CHtml::ajax(
array(
'type' => 'POST',
'dataType' => 'html',
'data' => array(
'id' => 'js:idsearch.value'),
'update' => '#dvfeeform',
'url' => CController::createUrl('student/searchajax'),
))
));
编辑网址后:
'url' => Yii::app()->createUrl('student/searchajax'),
它工作得非常好。 希望有一天它可以帮助某人
答案 3 :(得分:0)
我已将一个空数组$ result从控制器传递给视图,现在它工作正常。
但到目前为止,我无法弄清楚为什么它在我当地的主机上完美运行而不是在其他系统中。