【问题标题】:php cli: unexpected T_USEphp cli:意外的 T_USE
【发布时间】:2014-10-21 08:09:36
【问题描述】:

我想从 CLI 运行以下代码:

error_reporting(E_ALL);
ini_set('display_errors', '1');

require '/usr/share/nginx/www/aws-autoloader.php';

use Aws\Ec2\Ec2Client;

$ec2Client = Ec2Client::factory(array(
    'key'    => 'xxxxxxxxx',
    'secret' => 'xxxxxxx',
    'region' => 'us-east-1'
));

收到此错误:

解析错误:语法错误,第 5 行出现意外的 T_USE

导致错误的行是:

use Aws\Ec2\Ec2Client;

使用CLI时不能这样导入吗?

编辑

PHP版本:

带有 Suhosin-Patch (cli) 的 PHP 5.3.6-13ubuntu3.9(构建时间:2012 年 9 月 12 日 19:00:27)

【问题讨论】:

  • 你在命令行上运行的是什么版本的 PHP?
  • 试试use Aws\Ec2\Ec2Client as Ec2Client; ?
  • @eis 仍然出现同样的错误
  • 如果将use 行移到最顶部会怎样? PS:只有use,没有require,如下所示
  • @zerkms 成功了! :) 非常感谢!

标签: php


【解决方案1】:

use 语句应该出现在代码的顶部 - 直接在 PHP 标记打开之后(或 namespace 定义),或作为类中的第一行。

有关此类错误(已解决)的示例,请参阅https://github.com/browscap/browscap-php/issues/1#issuecomment-22737388

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-22
    • 2020-10-18
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    相关资源
    最近更新 更多