微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

设置全局变量时的PHP语法错误

好的,所以我的 PHP至少可以说是可怕的.我继承了一个应用程序,并且必须从7年前编写它的人那里修复错误.当我运行页面时,没有返回,所以我检查了日志以查看错误,这是我得到的:

PHP Parse error: Syntax error,unexpected ‘=’,expecting ‘,’ or ‘;’ in /httpdocs/cron123/purge.PHP on line 4

这是代码

<?
ob_start();

global $siteRoot    =   '/httpdocs/';
global $reportRoot  =   '/reports/';
include('billing1.PHP');    

$date='Purge report for: ' .date('M d,Y \a\t g:i a'); ?>

<html>
<head><title><?=$date?></title></head>
<body>

<?PHP       
    $account = new billing();
    $ftresult = $account->purge();
    new dBug($ftresult);        
    echo "successfully wrote";
?>
</body>
<? 
    $filename = "purge_report_" . date('y.m.d_\a\t_g_i_a') . ".html";
    $loc = $reportRoot . 'purge_reports/';
    $f = $loc . $filename;

    $fp = @fopen($f,'w'); 
    @fwrite($fp,ob_get_contents());
    @fclose($fp);

    ob_end_flush(); 
?>
global是应该单独使用的关键字.不得与作业相结合.所以,砍它:
global $x;
$x = 42;

此外,正如Zenham所述,在函数内部使用global来访问外部作用域中的变量.因此,所呈现的全球使用毫无意义.

一个提示(虽然它不会真正帮助你解决语法错误):将以下行添加到主文件的顶部,以帮助调试(documentation):

error_reporting(E_ALL);

原文地址:https://www.jb51.cc/php/139096.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐