2013-06-17 12 views
14

Mein Mandant sagt, er wird immer diese Fehler meines Skript:Unerwartetes Zeichen in der Eingabe: '' (ASCII = 92) state = 1

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 

Die Linie 34 in header.php ist nur use \Main\Class;

Jetzt sagte ich ihm, er muss PHP >= 5.3.0 haben und er sagt, seine PHP-Version ist 5.3.24

Was könnte das Problem sein?

EDIT: Die Linien vor und nach

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:

Er schickte mir dies:

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 
+0

Was ist Zeile 33? – Jessica

+0

@Jessica - ** 34 ** eigentlich. ;-) –

+0

Ich habe Zeilen vor und nach der Zeile eingefügt 34 ​​ – bosniamaj

Antwort

34

Dies geschieht, wenn Sie versuchen, Namespaces zu verwenden, aber nicht haben PHP 5.3. PHP 5.2 und darunter unterstützen keine Namespaces und werfen diesen Fehler, wenn sie den Backslash sehen.

- Edit: vertauscht die Versionen. Es ist 5.2 und darunter, dass keine Namespaces haben, wenn ich mich nicht irre.

+1

5.3 unterstützt Namespaces, Sie wahrscheinlich gemeint, 5.2 und weniger – salathe

+1

Faktische Ungenauigkeiten machen die Antwort nicht sehr nützlich, auch wenn sie kleine Gehirn Furze sind. +1 für die Korrektur. – salathe

13

Nun, sagte ich ihm, er hat PHP> = 5.3.0 haben, und er sagt, dass seine PHP-Version 5.3.24

ist, was das Problem sein könnte?

Seine PHP-Version ist eigentlich < 5.3.0, ob er das weiß oder nicht.

See the error occurring on many PHP versions.

+0

Nun, er sagt mir, dass es 5.3.24 ist. Er hat keine Datei mit 'phpinfo()' erstellt, als ich ihn darum gebeten habe, aber er hat einige Statistiken kopiert (wahrscheinlich von cpanel oder so). Ich habe seine Antwort als meine EDIT 2 in meinem Beitrag veröffentlicht. – bosniamaj

1

Bitten Sie ihn, eine Datei mit phpinfo() zu erstellen. Er hat wahrscheinlich keine PHP Version> = 5.3.0.

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

AddHandler x-httpd-php53 .php 

</FilesMatch> 

in .htaccess

2

Wenn Sie unerwartete T_STRING 'Fehler nach dem genannten Fehlermeldung erhalten, müssen Sie PHP 5.4+

0

Wie andere Nutzer sagen installieren: Verwendung von Namensräumen sind nur gültig für PHP-Versionen größer als 5.3.0, so dass meine Lösung für eine optionale Verwendung einer Bibliothek mit Namespaces ist überprüfen Sie die PHP-Version und verwenden Sie die eval() Funktion, um zu vermeiden, dass niedrigere PHP-Versionen einen Fehler machen .

Etwas wie folgt aus:

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

lief ich das gleiche Problem, und tun etwas Forschung ich es geschafft, es zu beheben. In meinem Fall, ich PHP7 verwenden, und was hatte ich zu tun, ist die Datei Laravel in ~/.composer/vendor/laravel/installer/ befindet bearbeiten, wo die Shebang-Zeile war #!/usr/bin/env php ich #!/usr/bin/env php7 geändert

Nach Lauf wieder die Handwerker, habe ich es funktioniert:

-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. 
+0

actully ich war auf der Suche nach diesem Dank Kumpel du erklärst sehr gut (y) –

Verwandte Themen