2015-07-17 5 views
2

Я уже несколько часов борюсь с этим. Я запускаю CentOS 6.6. Несколько часов назад у меня возникали проблемы с проектом Symfony, который требовал PHP 5.4+ из-за необходимости некоторых библиотек. Поэтому я установил версию 5.4, и я использовал PHP 5.3.3.Какую версию PHP использует Symfony?

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.

Так что мой вопрос: как узнать, какая версия PHP используется Symfony? Благодарю.

+1

запустить 'phpinfo()' на одной из страниц и посмотреть, что дает вам , возможно, у вас есть одна версия php для cli и одна из apache – castis

+0

Просто, чтобы «подтвердить», что это не конфигурация Symfony, почему бы вам не написать простой php с массивом и попытаться выполнить его ? – Mindastic

+1

http://symfony.com/doc/current/reference/requirements.html says 5.3.9 – qooplmao

ответ

3

Когда вы запустите php -v, он покажет вам версию PHP CLI. Не версия php, используемая для вашего скрипта (выполняется вашим веб-сервером).

У вас есть несколько решений для получения версии, используемой вашим веб-сервером.

Пример с функцией phpinfo(); на странице .php.

<?php 
    phpinfo(); // Outputs information about PHP's configuration 

Пример непосредственно из командной строки (показать вам ту же информацию, отображаемую с phpinfo())

php -i 
+0

Спасибо, но странно это говорит PHP Version => 5.4.43 – leonziyo

+0

Какую версию вы пробовали ('phpinfo()' или ' php -i')? – zilongqiu

+0

Я использовал php -i и показывает PHP Version => 5.4.43 – leonziyo

Смежные вопросы