完全相同的代码在php 5.3.13(服务器)上传递lint检查'php -l',但在php 5.3.12(本地)上没有。这是我本地配置的结果,我可以改变或者应该改变吗?我可以使用printf()重写下面的else,但只是好奇。
PHP Parse错误:语法错误,意外T_EXIT,期待T_FUNCTION
function wp_custom_redirect($url) {
if( ! headers_sent() )
{
wp_redirect($url);
}
else
{
?>
<script>
self.location.href = '<?php echo $url; ?>';
</script>
<?php
}
exit();
}
更新:带有exit()的行; (T_EXIT)是带错误的行。
我可以重写else看起来像这样(见下文),lint在我的本地机器上传递。我想确定的是为什么它失效时它是有效的PHP,我怀疑它是一些php.ini配置。我只是不确定在哪里。
else
{
printf( '<script>self.location.href = "%s";</script>', $url );
}
已解决这是之前的一个示例,但使用的是<?
而不是<?php
,而在我的本地服务器配置中,short_tags已关闭,不明白为什么lint一直持续到代码
答案 0 :(得分:0)
Hy,错误发生在哪一行?
你这样称呼它?
wp_custom_redirect('http://google.com');
答案 1 :(得分:0)
配置确实是问题,因为它是我本地php.ini上的short_tags = Off设置。我没有比我发布的函数更早地在函数中捕获它,但行号没有帮助,我不完全确定为什么lint没有指示short_tag而不是T_EXIT。