20

私のクライアントは、私のスクリプトを使用してこのエラーが発生していると言っています。

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

の 34 行目header.phpはちょうどuse \Main\Class;

今、私は彼が持っている必要があるPHP >= 5.3.0と彼に言いました、そして彼は彼のPHPバージョンは5.3.24

何が問題なのですか?

編集:前後の行

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

編集2:

彼は私にこれを送ってくれました:

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
4

7 に答える 7

40

これは、名前空間を使用しようとしているが、PHP 5.3 を持っていない場合に発生します。PHP 5.2 以下は名前空間をサポートしていないため、バックスラッシュが表示されるとこのエラーがスローされます。

-- 編集: バージョンを混同。私が間違っていなければ、名前空間がないのは5.2以下です。

于 2013-06-17T20:39:20.843 に答える
13

今、私は彼に PHP >= 5.3.0 が必要だと言いました。彼は彼の PHP バージョンは 5.3.24 だと言いました。

何が問題なのですか?

彼の PHP バージョンは、彼がそれを知っているかどうかにかかわらず、実際には 5.3.0 未満です。

多くの PHP バージョンで発生するエラーを参照してください

于 2013-06-17T20:39:25.183 に答える
2

上記のエラーの後に「予期しない T_STRING」エラーが発生した場合は、PHP 5.4 以降をインストールする必要があります。

于 2015-06-25T17:35:54.633 に答える
1

他のユーザーが言うように: 名前空間の使用は PHP バージョン 5.3.0 以上でのみ有効であるため、名前空間を使用するライブラリのオプションの使用を含めることができる私の解決策は、php バージョンを確認し、回避するためにeval()関数を使用することですPHP の下位バージョンでは、コンパイル時であってもエラーが発生します。

このようなもの:

if ( phpversion() > '5.3.0' ){
    include_once('/path/to/Library.php'); 
    eval("Library\Foo::bar();"); 
}
于 2016-07-29T00:00:00.713 に答える
1
<FilesMatch "\.(inc|php|php3|php4|php44|php5|php52|php53|php54|php55|php56|phtml|phps)$">

 AddHandler x-httpd-php53 .php

</FilesMatch>

.htaccess で

于 2014-10-27T21:58:33.007 に答える
1

私は同じ問題を実行し、いくつかの調査を行って、なんとか修正しました。私の場合、PHP7 を使用しています。私がしなければならなかったのは~/.composer/vendor/laravel/installer/、にある laravel ファイルを編集することです。#!/usr/bin/env php#!/usr/bin/env php7

職人をもう一度実行した後、私はそれを機能させました:

-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.
于 2016-08-31T00:57:43.913 に答える