pra*_*ala 159 html php parse-error
我收到一个错误:
Parse error: syntax error, unexpected end of file in the line
Run Code Online (Sandbox Code Playgroud)
使用此代码:
<html>
<?php
function login()
{
// Login function code
}
if (login())
{?>
<h2>Welcome Administrator</h2>
<a href=\"upload.php\">Upload Files</a>
<br />
<a href=\"points.php\">Edit Points Tally</a>
<?php}
else
{
echo "Incorrect login details. Please login";
}
?>
Some more HTML code
</html>
Run Code Online (Sandbox Code Playgroud)
有什么问题?
j0k*_*j0k 296
你应该避免这种情况(代码末尾):
{?>
Run Code Online (Sandbox Code Playgroud)
还有这个:
<?php}
Run Code Online (Sandbox Code Playgroud)
您不应该将括号直接放在open/close php
标记附近,而是用空格分隔:
{ ?>
<?php {
Run Code Online (Sandbox Code Playgroud)
也避免<?
和使用<?php
小智 84
我有同样的错误,但我通过修改php.ini
文件修复了它.
找到你的php.ini文件,看看Dude,哪里是我的php.ini?
然后用你最喜欢的编辑器打开它.
查找short_open_tag
属性,并应用以下更改:
; short_open_tag = Off ; previous value
short_open_tag = On ; new value
Run Code Online (Sandbox Code Playgroud)
Sur*_*yaa 33
我有同样的错误,但我通过修改php.ini和/或编辑PHP文件修复了它!
有两种不同的方法来解决解析错误语法.
避免在你的PHP文件中:
<? } ?>
Run Code Online (Sandbox Code Playgroud)
确保你这样说
<?php ?>
Run Code Online (Sandbox Code Playgroud)
您的代码包含
<? ?>
注意: 丢失
php
之后<?
!
还有一种简单的方法可以解决您的问题.搜索short_open_tag
属性值(在文本编辑器中使用Ctrl + F
!),并应用以下更改:
; short_open_tag = Off
Run Code Online (Sandbox Code Playgroud)
至
short_open_tag = On
Run Code Online (Sandbox Code Playgroud)
根据核心php.ini指令的描述,short_open_tag
允许你使用short open tag(<?
),虽然这可能会在与xml一起使用时引起问题(<?xml
启用时不会起作用)!
注意: 重新加载您的服务器(例如:Apache)并在浏览器中重新加载您的PHP网页.
无效示例:
// it's not working!!!
function findAll() {
$query=<<<SQL
SELECT * FROM `table_1`;
SQL; // <-------- THIS IS BAD
// ...
}
Run Code Online (Sandbox Code Playgroud)
这将引发类似于以下内容的异常:
<br />
<b>Parse error</b>: syntax error, unexpected end of file in <b>[...][...]</b> on line <b>5</b><br />
Run Code Online (Sandbox Code Playgroud)
其中数字 5 可能是文件的最后一行编号。
根据php手册:
警告 请 务必注意,带有结束标识符的行不得包含除分号 (;) 之外的其他字符。这尤其意味着标识符不能缩进,并且分号前后不能有任何空格或制表符。认识到结束标识符之前的第一个字符必须是本地操作系统定义的换行符也很重要。这是 UNIX 系统上的 \n,包括 macOS。结束定界符还必须跟有换行符。
TLDR:关闭标识应不缩进。
有效示例:
<br />
<b>Parse error</b>: syntax error, unexpected end of file in <b>[...][...]</b> on line <b>5</b><br />
Run Code Online (Sandbox Code Playgroud)
检查你是否关闭了课程.
例如,如果您有带方法的控制器类,并且意外删除了关闭整个类的最后一个括号,您将收到此错误.
class someControler{
private $varr;
public $varu;
..
public function method {
..
}
..
}// if you forget to close the controller, you will get the error
Run Code Online (Sandbox Code Playgroud)
当我离开php foreach:标签时,我遇到了这个麻烦。
<?php foreach($many as $one): ?>
Run Code Online (Sandbox Code Playgroud)
使用以下命令关闭它可以解决语法错误: unexpected end of file
<?php endforeach; ?>
Run Code Online (Sandbox Code Playgroud)
希望对别人有帮助