Назад | Перейти на главную страницу

обновление до php 5.3.6

Я только что обновился до версии для разработчиков OSX Lion с php 5.3.6 (от Snow Leopard).

Теперь мои сайты, созданные на Yii, не работают. Как я узнаю, какой код сейчас взломан, не обнаруживая их один за другим? Почему приведенный ниже код не работает? Есть ли что-то, что я могу включить в файлах php.ini, чтобы преодолеть эти проблемы? Мне нужно вернуться к работе, но я не хочу просто вернуться в Snow Leopard, чтобы сделать это. Был бы признателен за помощь / руководство.

Вот некоторые из следующих ошибок:

Использование неопределенного постоянного стиля - предполагаемый "стиль" на

'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.'"',

Не знаю, как это исправить

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

Y - это строка в вашем случае, поэтому используйте ее как строку:

 AND busAddresses.IsPhysical="Y"',

Поскольку в другом месте вы подразумевали, что получаете больше сообщений об ошибках, чем те, которые опубликовали, я предполагаю, что одна из ошибок, которые вы не опубликовали, была примерно такой:

Предупреждение: невозможно изменить информацию заголовка - заголовки уже отправлены

Поскольку основные причины всех этих сообщений, которые вы видите, не отличаются в вашей новой версии PHP, скорее всего, в разнице виноват параметр конфигурации. В частности, display_errors параметр, который просто контролирует, будут ли сообщения обо всех ошибках, предупреждениях и уведомлениях выводиться на экран.

В файле Apple php.ini по умолчанию для display_errors установлено значение Off, но вам нужно переместить /etc/php.ini.default в /etc/php.ini, чтобы этот файл вступил в силу. /etc/php.ini не переносится при обновлении OS X, поэтому имеет смысл потерять этот параметр.