nginx 用的 php 解析器是不是比 apache 更严格啊?

2014-10-08 10:23:51 +08:00
 ly710
我本地用的是apache,当出现config('xxx')['yyy']这样的语句的时候不会出现问题(config返回一个数组),但是上传到sinaapp之后就报这样的错误
Parse error: syntax error, unexpected '[', expecting ']',sinaapp用的是nginx。是不是nginx对php的解析更为严格?
3142 次点击
所在节点    PHP
11 条回复
kmvan
2014-10-08 10:25:40 +08:00
是版本问题吧
我记得 fn('xx')['xx'] 这种写法是5.3+才支持的。
csensix
2014-10-08 10:30:56 +08:00
SAE平台目前的Web服务器使用的是:

CentOS-6.x
Apache-2.2.x
PHP-5.3.x
Web服务器运行在64位Linux环境下。

Apache运行在Prefork模式下,即每个请求都会对应一个Apache进程,请求结束后该进程才能服务于下一个请求。平台通过模块方式扩展了Apache和PHP的相关功能。
ly710
2014-10-08 10:30:57 +08:00
@kmvan
sinaapp的版本是PHP/5.3.27
我本地的是PHP/5.5.1
shiny
2014-10-08 10:31:21 +08:00
php 语法层次的错误和 web 服务器软件没关系。
ly710
2014-10-08 10:34:18 +08:00
@kmvan
果然啊,5.4才有的特性
新增支持对函数返回数组的成员访问解析,例如 foo()[0] 。
http://cn2.php.net/manual/zh/migration54.new-features.php
skybr
2014-10-08 10:35:59 +08:00
版本问题, 另,nginx不处理php.
akira
2014-10-08 10:36:20 +08:00
明显是php版本的问题, 和nginx还是apache没关系
fising
2014-10-08 10:40:08 +08:00
@kmvan 应该是PHP5.4新增的特性
kmvan
2014-10-08 10:46:37 +08:00
原来如此,是5.4的特性,我记错了。
5.3已经离我很远了,现在都5.6了。貌似我跑wp on 5.6,速度稍微比5.5快一点
unsec
2014-10-08 10:47:00 +08:00
任何语言的 syntax error,都跟 web server无关。除非是 web server 内置了对这种语言的支持,这种情况极其少见

当然有人会跟我说 nginx 的 lua。你赢了 :)
picasso250
2014-10-09 09:58:28 +08:00
想用这个特征,可以用BAE。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/137519

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX