Блог веб-программиста

9Авг/120

Необычное проявление ошибки failed to open stream: No such file or directory

В Yii Framework, как и во многих других фреймворках, принято подгружать классы стандартной для PHP автозагрузкой.

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

PHP Error [2]
include(EasmSelectEx.php): failed to open stream: No such file or directory (/Users/bethrezen/Documents/DotPlant-private/yii-framework/framework/YiiBase.php:423)
#0 /Users/bethrezen/Documents/DotPlant-private/yii-framework/framework/YiiBase.php(423): DotPlantWebApplication->handleError()
#1 /Users/bethrezen/Documents/DotPlant-private/yii-framework/framework/YiiBase.php(423): autoload()
#2 unknown(0): autoload()
#3 /Users/bethrezen/Documents/DotPlant-private/yii-framework/framework/web/CWidgetFactory.php(148): spl_autoload_call()
#4 /Users/bethrezen/Documents/DotPlant-private/yii-framework/framework/web/CBaseController.php(147): CWidgetFactory->createWidget()
#5 /Users/bethrezen/Documents/DotPlant-private/yii-framework/framework/web/CBaseController.php(173): AsmSelect->createWidget()
#6 /Users/bethrezen/Documents/DotPlant-private/protected/modules/User/widgets/AsmSelect.php(75): AsmSelect->widget()

Казалось бы проблема в отсутствующем файле, но это не так. Файл присутствует и права на месте.

Проблема же была в том, что в этом файле использовались short tags - <? вместо <?php.

В общем, странно, непредсказуемо, но логично. Ещё раз доказывает, что короткие теги не нужны.

Связано с категорией: Code Нет комментариев