代码之家  ›  专栏  ›  技术社区  ›  Bishoy

php 7.1无法识别php5.6+语法'use函数`

  •  -2
  • Bishoy  · 技术社区  · 6 年前

    我有一个运行在Apache和PHP 7.1上的PHP网站。 应用程序在我的PC上运行良好,当我部署到服务器时,会出现以下错误:

    PHP Parse error: syntax error, unexpected 'function' (T_FUNCTION), expecting identifier (T_STRING) or \\\\ (T_NS_SEPARATOR)
    

    当我查看错误发生的位置时,我知道它是一个php5.6+语法:

    use function ...;
    

    当我跑的时候 php --version which php 它显示它是PHP 7.1。 是否有将php配置为允许语法高于特定版本的设置?

    编辑: phpinfo()正在报告PHP 5.5.9 我想我需要的是帮助如何设置Apache使用默认的PHP版本,在我的服务器上是7.1。

    2 回复  |  直到 6 年前
        1
  •  0
  •   Bishoy    6 年前

    答案是禁用模块php 5并为apache启用7.1:

    sudo a2dismod php5
    sudo a2enmod php7.1
    sudo service apache2 restart
    
        2
  •  -2
  •   paul prem Kumar    6 年前
    use keywork will support all version of php. i think your function declaration error. 
    you can use below example and correct your function
    **use** can only be used with anonymous functions. Using it with named functions 
     gives a syntax error.
    
     <?
    function counter($start) {
      $value = $start;
    
     return function() use (&$value) {
       return $value++;
     };
    

    }

     $counter = counter(6);
    
    echo $counter() . "\n";
    echo $counter() . "\n";