php解析错误T_EXIT,期待T_FUNCTION

时间:2012-05-29 08:23:28

标签: php

完全相同的代码在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一直持续到代码

2 个答案:

答案 0 :(得分:0)

Hy,错误发生在哪一行?

你这样称呼它?

wp_custom_redirect('http://google.com');

答案 1 :(得分:0)

配置确实是问题,因为它是我本地php.ini上的short_tags = Off设置。我没有比我发布的函数更早地在函数中捕获它,但行号没有帮助,我不完全确定为什么lint没有指示short_tag而不是T_EXIT。