Warning: Division by zero in ..\session.php on line 2
将我的PHP更新到我的主机允许的最新版本(5.5.9)后,会话路径出现了一个小问题,因此我必须在session_start()之前包含一小段代码来修复它。然而,这个奇怪的错误正在发生,显然它认为我试图除以零?我想知道如何解决这个问题,如果有可能,我认为这只是PHP愚蠢。
谢谢! :)
以下是前几行代码
<?php
session_save_path(“/tmp”);
session_start();
//error_reporting(0);
编辑:使用下面的代码解决了这个问题
session_save_path(realpath(dirname($_SERVER['DOCUMENT_ROOT']) . '/../session'));
ini_set('session.gc_probability', 1);
答案 0 :(得分:4)
这是所用报价的差异。 PHP认为您正在尝试将字符串除以另一个字符串。将其更改为常规双引号,问题将得到解决。
现在,这就是PHP所看到的:
“/tmp”
^--- first string
^--- division operator
^^^^--- second string
操作前的string is cast to an int
,有效地将双方都转为0
,从而导致Division by zero
警告。如果你有enabled error reporting,你就会发现这一点。
答案 1 :(得分:1)
你有聪明的报价。
因此,您的代码被解释为:
“
tmp“
分部强制转换为数字,双方都被归为零,结果为0/0
。