print - use function php




Carácter inesperado en la entrada: '\'(ASCII=92) estado=1 (5)

Ahora, le dije que tiene que tener PHP> = 5.3.0 y dice que su versión de PHP es 5.3.24

¿Cual podría ser el problema?

Su versión de PHP es en realidad <5.3.0, lo sepa o no.

Ver el error que ocurre en muchas versiones de PHP .

Mi cliente dice que está recibiendo este error usando mi script:

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /path/to//header.php  on line 34
Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING or '(' in/path/to/header.php  on line 34

La línea 34 en header.php es simplemente use \Main\Class;

Ahora, le dije que tiene que tener PHP >= 5.3.0 y dice que su versión de PHP es 5.3.24

¿Cual podría ser el problema?

EDITAR: Las líneas antes y después.

30. // Define absolute path
31. define("ABSPATH", $abs_path);
32. $_SESSION["abs_path"] = ABSPATH;
33. 
34. use \CNS\main\CNS;
35. $cns = new CNS();

EDIT 2:

Él me envió esto:

Program     Version
Apache:     2.2.24
CentOS:     CentOS release 6.4 (Final)
cPanel:     11.36.1 (build 8)
Curl:       7.12.1
MySQL       5.5.30
phpMyAdmin  3.5.5
Python:     2.6.6
Program     Version
Perl:       5.8.8
**PHP:        5.3.24**
ionCube Loader:     4.2.2
Zend Optimizer:     3.3.9
Ruby:       1.8.7
Rails:      3.2.8
OpenSSL:    1.0.0-fips

Como dicen otros usuarios: el uso de espacios de nombres solo es válido para versiones de PHP superiores a 5.3.0, por lo que mi solución para poder incluir un uso opcional de una biblioteca utilizando espacios de nombres es verificar la versión de php y usar la función eval () para evitar que las versiones inferiores de PHP disparan un error, incluso en tiempo de compilación.

Algo como esto:

if ( phpversion() > '5.3.0' ){
    include_once('/path/to/Library.php'); 
    eval("Library\Foo::bar();"); 
}

Esto sucede si está tratando de usar espacios de nombres pero no tiene PHP 5.3. PHP 5.2 y anteriores no admiten espacios de nombres y lanzan este error cuando ven la barra invertida.

- Edición: mezcla las versiones. Es 5.2 y más abajo que no tienen espacios de nombres, si no me equivoco.


Pídale que cree un archivo con phpinfo() . Probablemente no tenga la versión de PHP> = 5.3.0 .


<FilesMatch "\.(inc|php|php3|php4|php44|php5|php52|php53|php54|php55|php56|phtml|phps)$">

 AddHandler x-httpd-php53 .php

</FilesMatch>

en .htaccess





namespaces