print new namespace define php namespaces

php - new - Carácter inesperado en la entrada: ''/'(ASCII=92) estado=1



print namespace php (7)

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();"); }


Corrí el mismo problema, y ​​haciendo algunas investigaciones logré solucionarlo. En mi caso, uso PHP7, y lo que tuve que hacer es editar el archivo de laravel ubicado en ~/.composer/vendor/laravel/installer/ , donde la línea de shebang era #!/usr/bin/env php cambié a #!/usr/bin/env php7

Después de correr nuevamente el artesano, lo tengo funcionando:

-bash-3.2$ laravel Laravel Installer version 1.3.3 Usage: command [options] [arguments] Options: -h, --help Display this help message -q, --quiet Do not output any message -V, --version Display this application version --ansi Force ANSI output --no-ansi Disable ANSI output -n, --no-interaction Do not ask any interactive question -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug Available commands: help Displays help for a command list Lists commands new Create a new Laravel application.


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 .


Si aparece el error ''T_STRING inesperado'' después del error mencionado, debe instalar PHP 5.4+


<FilesMatch "/.(inc|php|php3|php4|php44|php5|php52|php53|php54|php55|php56|phtml|phps)$"> AddHandler x-httpd-php53 .php </FilesMatch>

en .htaccess