我已经为此苦苦挣扎了几个小时。我正在运行 CentOS 6.6。几个小时前,由于需要一些库,我遇到了一个需要 PHP 5.4+ 的 Symfony 项目的问题。所以我安装了 5.4 版本,我以前有 PHP 5.3.3。
PHP 5.4 允许一些新特性。如数组速记声明和二进制数据字符串。像这样:
//array shorthand declaration
$arr = [1, 2, 3, 4]; //PHP +5.4
$arr = array(1, 2, 3, 4); //PHP 5.3.3
//binary data strings
0b001 //PHP +5.4
这是在官方文档中,所以这里有一个源链接:https://secure.php.net/manual/en/migration54.new-features.php
但是,在执行这些脚本时,我遇到了错误,就好像我没有运行 PHP 5.4,例如,我会得到这个:
PHP Parse error: syntax error, unexpected '[' in /vendor/wisembly/elephant.io/src/Engine/AbstractSocketIO.php on line 44
这行代码是:
//does not work
$data = [$event, $args]; //PHP 5.4 syntax
//it works
$data = array($event, $args); //PHP 5.3.3 syntax
这是在终端上运行 php -v 的输出
PHP 5.4.43 (cli) (built: Jul 8 2015 12:08:50)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
因此,根据此输出,我知道我正在运行 PHP 5.4 版,唯一发生在我身上的事情是不知何故某处存在配置错误,并且它仍在使用 PHP 5.3。
所以我的问题是我如何知道 Symfony 使用的是哪个版本的 PHP?谢谢。
最佳答案
当您运行 php -v
时,它会显示 CLI 的 php 版本。不是用于您的脚本的 php 版本(由您的网络服务器运行)。
您有多种解决方案来获取您的网络服务器使用的版本。
函数示例 phpinfo();
在 .php 页面中。
<?php
phpinfo(); // Outputs information about PHP's configuration
直接来自命令行的示例(向您显示使用 phpinfo()
显示的相同信息)
php -i
关于php - Symfony 使用的是什么版本的 PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31486208/