まったく同じコードは、php 5.3.13 (サーバー) では lint チェック 'php -l' に合格しますが、php 5.3.12 (ローカル) では合格しません。これは私のローカル構成の結果であり、変更できるものですか、または変更する必要がありますか? たとえば、 printf() を使用して下のelseを書き直すことができますが、ちょっと興味があります。
PHP 解析エラー: 構文エラー、予期しない 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 );
}
これは以前の例で解決しましたが、私のローカルサーバー構成では、short_tags の<?
代わりに使用されていました。<?php