【发布时间】: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