解析PHP7.0.3中的差异/错误<?php $ foo

Ale*_*lex 5 php

我有以下代码:

<?php$selectbox->display();?>
Run Code Online (Sandbox Code Playgroud)

这不是太好,但在Ubuntu上运行良好PHP 7.0.3-1+deb.sury.org~vivid+1(mod_php)

在我的Uberpace上 使用PHP 7.0.3(FCGI),我收到错误

mod_fcgid: stderr: PHP Parse error:  syntax error, 
   unexpected '$selectbox' (T_VARIABLE) 
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

只是出于好奇而退出 - 当然,修复本身很简单.

B. *_*sai 3

该问题不是由于不同的系统造成的。这取决于 php.ini 文件中的 php 配置。在这种情况下,这取决于short_open标签。

Maybe是在 uberspace 的 php.ini 中short_open设置的,所以 after会被认为是 php 启动,并将(after ) 作为常量。因此它会抛出错误。您可以尝试以下调试来确认它是否是.On<?php<?$selectboxshort_open

1) 设置short_openOff。在 php.ini 中更改以下行

short_open_tag = On
Run Code Online (Sandbox Code Playgroud)

short_open_tag = Off
Run Code Online (Sandbox Code Playgroud)

2)或者,如果您不想更改 php 配置,则删除php之后<?

<?$selectbox->display();?>
Run Code Online (Sandbox Code Playgroud)