【问题标题】:Set up yii2 basic application on server在服务器上设置 yii2 基础应用
【发布时间】:2015-04-06 04:37:23
【问题描述】:

我有一个 yii2 基本模板在本地可以正常工作,但是当我在服务器上上传文件时它无法正常工作。

index.php

<?php

// comment out the following two lines when deployed to production
//defined('YII_DEBUG') or define('YII_DEBUG', true);
//defined('YII_ENV') or define('YII_ENV', 'dev');

require(__DIR__ . '/../vendor/autoload.php');
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');

$config = require(__DIR__ . '/../config/web.php');

(new yii\web\Application($config))->run();

当我打开 URL http://iicose.com/mlm/web/index.php 时,它给了我以下错误

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/iicose/public_html/mlm/index.php on line 12

Parse error: syntax error, unexpected T_STRING in /home/iicose/public_html/mlm/index.php on line 12

当我删除加载的文件时,我发现这是因为使用__DIR__ 造成的。但进一步,我必须根据它在供应商目录中的任何地方进行更改,我认为这不是一个好习惯。

谁能告诉我解决办法。

编辑: 这个问题是重复的 Unexpected character in input: '\' (ASCII=92) state=1

【问题讨论】:

  • 生产服务器上的 PHP 版本是多少?似乎它是没有命名空间支持的旧版本。检查这个问题。 stackoverflow.com/questions/17156251/…
  • @arogachev 帮助很大。我的 PHP 版本 >5.3.0 这就是它发生的原因。如果有办法在不更改 PHP 版本的情况下解决这个问题(如果可能的话)。
  • 您的意思是在生产服务器上低于5.3.0 吗? Yii 2 需要 PHP 5.4,所以你必须在开发和生产服务器上至少有这个版本才能让它工作。
  • 很高兴为您提供帮助,我将其作为答案发布。

标签: php configuration yii2


【解决方案1】:

似乎您在生产服务器上使用的是旧版本的 PHP(不支持命名空间)。检查this related question

Yii 2 requires 至少 PHP 5.4,因此您必须在开发和生产服务器上至少拥有此版本才能使其正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 2016-02-01
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    相关资源
    最近更新 更多