关于在SAE上部署PHP应用时遇到的问题解决
程序员文章站
2024-02-07 18:03:36
...
各位好,近期由于尝试着进行将手中PHP应用移植到新浪SAE上的工作,因为是初学者,也是很多问题,目前有个问题一直没有得到解决。
背 景:原有应用在APACHE上运行正常,采用PHP 5.4.2版本;移植到SAE上,SAE应该是采用Nginx服务器,PHP版本为5.3.2
问题现象:访问页面报错 Parse error: syntax error, unexpected T_VARIABLE in application/models/ngsource_model.php on line 94
涉及代码:$query_date = explode(' ',$query_datetime)[0];
这行代码我看了半天也没发现什么问题,前后代码都是变量赋值,也应该没有什么问题,怀疑是否是PHP版本问题?由于我对PHP各版本变动不是太了解,网上一直也没有搜到类似资源,希望得到大家的帮助,谢谢!
背 景:原有应用在APACHE上运行正常,采用PHP 5.4.2版本;移植到SAE上,SAE应该是采用Nginx服务器,PHP版本为5.3.2
问题现象:访问页面报错 Parse error: syntax error, unexpected T_VARIABLE in application/models/ngsource_model.php on line 94
涉及代码:$query_date = explode(' ',$query_datetime)[0];
这行代码我看了半天也没发现什么问题,前后代码都是变量赋值,也应该没有什么问题,怀疑是否是PHP版本问题?由于我对PHP各版本变动不是太了解,网上一直也没有搜到类似资源,希望得到大家的帮助,谢谢!
回复讨论(解决方案)
$query_date = explode(' ',$query_datetime)[0];
这种语法只有 php 5.4 及以上才支持
php 5.3 及以下应写作
$query_date = explode(' ',$query_datetime); $query_date = $query_date[0];
或
list($query_date) = explode(' ',$query_datetime);
$query_date = explode(' ',$query_datetime)[0];
这种语法只有 php 5.4 及以上才支持
php 5.3 及以下应写作
$query_date = explode(' ',$query_datetime); $query_date = $query_date[0];
或
list($query_date) = explode(' ',$query_datetime);
十分感谢,您说的第一种方法我也尝试过,不过还是提示第二行代码出现同样的错误,第二种方法我马上去试一下。
另外,SAE不知道您是否熟悉,有没有可能提高PHP版本?
Parse error: syntax error, unexpected '['
你的错误信息是 Parse error: syntax error, unexpected T_VARIABLE
显然是 $query_date 之前有非法字符
那么,你是怎么通过本地测试的呢?
SAE 的 php 是他专有的(在公开发行的代码中进行了修改)
SAE 提供有本地开发环境,你可以下载使用
如果是数组写法的问题,错误信息应为
Parse error: syntax error, unexpected '['
你的错误信息是 Parse error: syntax error, unexpected T_VARIABLE
显然是 $query_date 之前有非法字符
那么,你是怎么通过本地测试的呢?
SAE 的 php 是他专有的(在公开发行的代码中进行了修改)
SAE 提供有本地开发环境,你可以下载使用
非常感谢,确实是您所说的问题,修改以后已经解决!
以上就是关于在SAE上部署PHP应用时遇到的问题解决的内容,更多相关内容请关注PHP中文网(www.php.cn)!