在视图中声明和使用PHP变量在Localhost中运行良好,但在实时服务器(ubuntu AWS)Laravel 4.1


Declaring and using PHP variables in views works fine in Localhost but not on live server (ubuntu AWS) Laravel 4.1

我已经完善了我的网站,使其在本地主机上运行良好,但我在实时服务器上遇到了问题。当我在视图中声明变量并尝试使用它们时,我会得到js或php错误(取决于我声明和使用变量的位置)。以下是示例:

在js中,我声明了一个php变量,如下所示:

//在javascript 中

<? $id = Session::get('redirected_id'); ?>
@if(isset($id))
$('#myModal').modal('show');
@endif

基本上,如果我发送一个带有重定向的变量到视图,我希望出现这个模态。当我在localhost上运行这个时,所有的js都可以正常工作。当我在我的实时服务器上运行这个时,我会得到错误:

Uncaught SyntaxError: Unexpected token < 

参考<? $id = Session::get('redirected_id'); ?>

另一方面,当我在html部分声明一个变量,然后将其用作"偏移量"变量时,我的实时服务器上会出现php错误。例如:

<? $offset=0; ?>
@foreach($artists_near as $artist)
@if($offset%4==0 && $offset > 0)
<article class="MusicianCol clearfix fadeMusicBox" style="display:none;">
@endif

它在抱怨:

@if($offset%4==0 && $offset > 0)

说:

Undefined variable: offset

这很奇怪,因为我在本地主机上没有看到任何错误。在使用blade语法的页面上,我对jquery等使用了相同的声明,所以我应该包括相同的文件。有什么想法吗?

您的生产环境禁用了short_open_tag设置。为了完全兼容,建议您不要打开它,并使用完整的php标记<?php而不是<?