Los únicos errores que pueden ocurrir serán debido a los códigos utilizados en los eventos, bibliotecas y métodos que no sean compatibles con PHP 7.0. Estos errores se deben corregir manualmente.

1 - Short open tags

La directiva short\_open\_tag informa a PHP si la forma abreviada ( ?) De la etiqueta de apertura de PHP está permitida.  
  
Independiente de la versión del php, se debe chequear en php.ini si el short\_open\_tag está habilitado.

Solución 1:  
Cambiar la etiqueta de apertura de php(php ?)  
Solución 2:  
Cambiar la directiva short\_open\_tags en php.ini:

```
short_open_tags = On
```

2 - Nuevos objetos no se pueden asignar por referencia

:   El resultado de la declaración new ya no se puede asignar a una variable por referencia:

    ```
    php<br style="box-sizing: border-box" /class C {}  
    $c =& new C;  
    ?>
    ```

    El ejemplo anterior se imprime para PHP 5:  
               Deprecated: Assigning the return value of new by reference is deprecated in /tmp/test.php on line 3

    El ejemplo de arriba se imprime para PHP7:  
               Parse error: syntax error, unexpected 'new' (T\_NEW) in /tmp/test.php on line 3

    Solución:  
              Retirar la referencia (&) de los atributos:

    ```
    php<br style="box-sizing: border-box" /class C {}  
    $c = new C;  
    ?>
    ```

    3 -Constructores al estilo PHP 4

    Los constructores al estilo PHP 4 (métodos que tienen el mismo nombre que la clase donde están definidos) están obsoletos, y serán eliminados en el futuro. El PHP 7 enviará `E_DEPRECATED` si un constructor de PHP 4 es el único constructor definido en la clase. Las clases que implementan el método \_\_construct () no se ven afectadas.

    ```
    php<br style="box-sizing: border-box" /class foo {  
        function foo() {  
            echo 'Eu sou um construtor';  
        }  
    }  
    ?>
    ```

    El ejemplo de arriba se imprimirá:

    ```
    Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; foo has a deprecated constructor in example.php on line 3
    ```

    4 -Llamadas estáticas a métodos no estáticos

    Las llamadas estáticas a métodos que no se han declarado como static están obsoletas, y se pueden quitar en el futuro.

    ```
    php<br style="box-sizing: border-box" /class foo {  
        function bar() {  
            echo 'Eu não sou estático!';  
        }  
    }  
      
    foo::bar();  
      
    ?>
    ```

    El ejemplo de arriba se imprimirá:

    ```
    Deprecated: Non-static method foo::bar() should not be called statically in - on line 8  
    I am not static!
    ```

    Para más información:

    - [Nuevos Recursos de PHP 7.0](http://php.net/manual/es/migration70.new-features.php)  
      - [Recursos obsoletas para PHP 7.0](http://php.net/manual/es/migration70.deprecated.php)

    Fuente: [http://php.net](http://php.net/)