Rus*_*rry 5 php syntax global-variables
好的,所以我的PHP至少可以说是可怕的.我继承了一个应用程序,并且必须从7年前编写它的人那里修复错误.当我运行页面时,没有返回,所以我检查了日志以查看错误,这是我得到的:
PHP解析错误:语法错误,意外'=',期待','或';' 在第4行的/httpdocs/cron123/purge.php中
这是代码:
<?
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();
?>
Run Code Online (Sandbox Code Playgroud)
global是一个应该自己使用的关键字.不得与作业相结合.所以,砍下它:
global $x;
$x = 42;
Run Code Online (Sandbox Code Playgroud)
此外,正如Zenham所提到的,global在函数内部使用,来访问外部作用域中的变量.因此,使用global它的方式毫无意义.
另一个提示(虽然它不会真正帮助您解决语法错误):将以下行添加到主文件的顶部,以帮助调试(文档):
error_reporting(E_ALL);
Run Code Online (Sandbox Code Playgroud)