【问题标题】:PHP Parse error: syntax error, unexpected end of file in a CodeIgniter View [closed]PHP Parse 错误:语法错误,CodeIgniter 视图中的文件意外结束 [关闭]
【发布时间】:2012-12-09 01:34:41
【问题描述】:

我的 CodeIgniter 视图出现 unexpected end of file 错误。

我已将 PHP 代码粘贴到 http://codepad.org/S12oXE4t

这段代码通过了各种在线 PHP 语法测试,但我不知道为什么在我尝试在 WAMP 服务器中运行时它仍然显示以下错误。

Parse error: syntax error, unexpected end of file in
 E:\wampserver\www\CodeIgniter\application\views\layouts\default.php on line 676

作为参考,line 676 是代码的最后一行。我做错了什么?

【问题讨论】:

  • 你在某处错过了一个右括号
  • 我尝试了代码,但它一直运行到它抱怨 base_url。你是不是抄错了?
  • 万一遇到看不懂的报错信息,访问:Reference - What does this error mean in PHP?
  • 我在google.co.in/…签入了几乎所有的在线工具
  • 而且你必须在使用base_url()之前加载url helper

标签: php codeigniter


【解决方案1】:

检查您的short_open_tag 设置(使用<?php phpinfo() ?> 查看其当前设置)。

【讨论】:

  • 您应该在答案中包含short_open_tag 的作用、应该设置的内容以及原因。
  • 如果可以的话,我会投票给你数千次,只是在 4 小时后把我的头砸在键盘上试图解决一些随机 wotsit 的灾难,最后发现他只喜欢他将弃用的短标签放在任何地方。
  • 哇!!这是一个非常重要的项目 - 当解决方案如此简单时,我浪费了将近 2 个小时来尝试排除故障
  • 不得不说这也让我免于头痛。
  • 如果你使用命令行,你可以输入php -i | grep short_open_tag 而不是<?php phpinfo() ?>。我猜默认值是 Off 这意味着你必须使用 <?php ?> 而不仅仅是 <? ?>
【解决方案2】:

问题通常不是右括号 (}) 或缺少分号 (;)

【讨论】:

  • 如果是 } 或 ; IDE 必须指出这个问题。我在各种 IDE 中测试过,但没有 IDE 指出错误。
【解决方案3】:

Unexpected end of file 表示在 PHP 解析器到达脚本末尾之前预期会发生其他事情。

从您的 HUGE 文件来看,您可能在 if 语句中缺少右括号 (})。

请至少尝试以下事情:

  1. 将代码与视图逻辑分开。
  2. 保持一致,您在某些嵌入式 PHP 语句中使用结束 ;,而不是在其他语句中,即。 <?php echo base_url(); ?><?php echo $this->layouts->print_includes() ?>。它不是必需的,所以不要使用它(或者做,只做一个或另一个)。
  3. 重复,因为它很重要,将您的关注点分开。不需要所有这些代码。
  4. 使用 IDE,它将帮助您解决此类错误。

【讨论】:

  • 如果是 } 或 ; IDE 必须指出这个问题。我在各种 IDE 中测试过,但没有 IDE 指出错误。
  • @lock 如果错误出现在某处,则不会。
猜你喜欢
  • 2016-07-18
  • 2018-12-25
  • 2012-10-30
  • 1970-01-01
  • 2012-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-12
相关资源
最近更新 更多