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