我已经运行了一个Web应用程序了一段时间。该应用程序即使在多个PHP错误后也可以工作,但是每隔几周后,错误日志文件就会不断占据我的空间1 GB,迫使我手动删除它们。该错误位于faucet.php文件
中我对PHP不熟悉,我已经尽一切可能解决此错误,甚至检查类似的问题,但没有一个事实证明是我问题的重点。
这是四个错误消息,并且全天不断重复。
Undefined variable
PHP Notice: Undefined variable: refer_file in /home/countnet/public_html/faucet/network/mine/doge/faucet.php on **line 318**
PHP Notice: Undefined variable: refer_file in /home/countnet/public_html/faucet/network/mine/doge/faucet.php on **line 393**
And Undefined index
PHP Notice: Undefined index: status in /home/countnet/public_html/faucet/network/mine/doge/faucet.php on **line 604**
PHP Notice: Undefined index: status in /home/countnet/public_html/faucet/network/mine/doge/faucet.php on **line 608**
**Line 318** if (!$refer_file) {
**Line 393** if (!$refer_file) { // the user was referred and the referral isn't saved
**Line 604** echo ''status': '' . htmlspecialchars($result['status'], ENT_QUOTES|ENT_SUBSTITUTE|ENT_DISALLOWED|ENT_HTML5) . '',';
**Line 608**
echo '<dl><dt>Status</dt><dd>' . htmlspecialchars($result['status'], ENT_QUOTES|ENT_SUBSTITUTE|ENT_DISALLOWED|ENT_HTML5) . '</dd><dt>Message</dt><dd>' . htmlspecialchars($result['message'], ENT_QUOTES|ENT_SUBSTITUTE|ENT_DISALLOWED|ENT_HTML5) . '</dd></dl>';
任何帮助都将不胜感激,即使存在这些错误,该应用程序也可以正常工作,但是随着交通的增长,它们现在正在成为一场噩梦。
您需要使用isset((或eatper((检查变量或数组索引是否定义。
行318和393可以更改为
if (!empty($refer_file)) {
第604行和608添加以下内容604之前:
$result['status'] = isset($result['status']) ? $result['status'] : 'default_status';
$result['message'] = isset($result['message']) ? $result['message'] : 'default_message';
使用isset检查数组的变量/索引是否存在。
if (isset($refer_file)) {
if (!$refer_file) { // the user was referred and the referral isn't saved
if(isset($result['status']) && isset($result['message'])){
echo ''status': '' . htmlspecialchars($result['status'], ENT_QUOTES|ENT_SUBSTITUTE|ENT_DISALLOWED|ENT_HTML5) . '',';}
echo '<dl><dt>Status</dt><dd>' . htmlspecialchars($result['status'], ENT_QUOTES|ENT_SUBSTITUTE|ENT_DISALLOWED|ENT_HTML5) . '</dd><dt>Message</dt><dd>' . htmlspecialchars($result['message'], ENT_QUOTES|ENT_SUBSTITUTE|ENT_DISALLOWED|ENT_HTML5) . '</dd></dl>';
}