【发布时间】:2017-08-06 22:24:46
【问题描述】:
我的 Laravel 项目中有一个非常奇怪的错误。我的 Blade 视图文件中的一些代码在服务器上完美运行,但在我的本地项目 VM 上失败。
简单的代码是:
<?$class = 'abc';?>
<p><?=$class?></p> /* My local project fails here */
在我本地的 Laravel 项目中,我收到错误:
带有消息“未定义变量:类”的异常“ErrorException”
为什么不一样?我真的很想知道为什么这会在服务器上运行但在本地失败。
服务器设置:
- CentOS 6.8 VPS
- Laravel 版本
Laravel Framework version 5.2.45 - PHP 版本
PHP 5.6.30 (cli) (built: Mar 11 2017 08:42:18) Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
本地设置:
- Windows 10
- 宅基地虚拟机
- Laravel 版本
Laravel Framework version 5.2.45 - PHP版本
PHP 5.6.15-1+deb.sury.org~trusty+1 (cli) Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies with Xdebug v2.3.2, Copyright (c) 2002-2015, by Derick Rethans with blackfire v1.6.0, https://blackfire.io, by Blackfireio Inc.
编辑:在史蒂夫的建议下。如果我将代码更改为以下代码,它可以工作。怎么回事?
<?php $class = 'abc';?>
<p><?=$class?></p
【问题讨论】:
-
<?$class = 'abc';?>可能是问题所在,<?是一个简短的开放标签,默认情况下未启用(不要与<?=混淆,后者是一个简短的回显标签,已启用默认情况下) - 尝试 进行测试。或者它的缓存/编译问题:laracasts.com/discuss/channels/laravel/undefined-variable-error -
@Steve 是的,如果我将其更改为
<?php $class=...它适用于我的本地项目。这是怎么回事?以及如何设置我的本地 PHP 以允许短打开标记?
标签: php laravel zend-framework blade