【问题标题】:Unexpected character in input: '\' (ASCII=92) state=1 in a Silex Application输入中的意外字符:Silex 应用程序中的 '\' (ASCII=92) state=1
【发布时间】:2012-10-18 23:12:24
【问题描述】:

我将我的网站从本地移动到主机,但发生了一些事情。我将此配置文件包含在我的index.php 中(这是我做的第一件事):

<?php
require_once __DIR__.'/../../vendor/autoload.php';

// some other stuff

$app = new Silex\Application();
$app['debug'] = true;

$defaultLocale = 'en';

$app->register(new Silex\Provider\TwigServiceProvider(), array(
    'twig.path' => array(
                            __DIR__.'/../views', 
                            __DIR__.'/../views/backend', 
                            __DIR__.'/../views/layouts',
                            __DIR__.'/../views/components',
                            __DIR__.'/../views/backend/components', 
                        ),
));
$app->register(new Nicl\Silex\MarkdownServiceProvider());

但是网站这样抱怨:

警告:输入中出现意外字符:'\' (ASCII=92) state=1 in /public_html/_inc/config.php 第 7 行

解析错误:语法错误,出现意外的 T_STRING /public_html/_inc/config.php 第 7 行

基本上,第 7 行是$app = new Silex\Application();。我正在使用 Silex,服务器正在运行 PHP 5.2。供应商文件夹(包含所有框架和第三方内容)位于根目录 (/)

我想知道它在自动加载方面有一些问题,但我不知道究竟是什么问题或如何测试它。你觉得有什么奇怪的吗?提前致谢。

【问题讨论】:

  • 也许我必须更加努力,但我已经搜索过了。然而几乎每个人都在展示不相关的解决方案。
  • 是的,我没有说它超级简单。顺便说一句,你的问题很好。弗洛伦特也直截了当。我们应该保留它以供进一步参考。
  • 很高兴听到这个消息。为了回答,我添加了 [namespaces] 标签。
  • 我也刚刚添加了 php-errors 标签。我们还尝试通过以下参考来改善“错误消息” - 到 -> “解决方案”的情况:stackoverflow.com/q/12769982/367456 - 可能这有时会有所帮助。

标签: namespaces autoload silex php


【解决方案1】:

根据official documentation,Silex 需要 PHP 5.3 来提供命名空间支持。
尝试将您的服务器迁移到 PHP 5.3 以消除此错误。

Silex 是 PHP 5.3 的 PHP 微框架。

【讨论】:

  • 哦,我的...我只是跳过了那个。我不知道为什么,但在查看 Silex 文档时我总是迷路。谢谢!
猜你喜欢
  • 2013-06-13
  • 2014-07-23
  • 2015-12-24
  • 2011-12-11
  • 2013-09-14
  • 1970-01-01
  • 2019-01-05
  • 2019-04-20
  • 2019-08-17
相关资源
最近更新 更多