2012-07-30 66 views
0

我想需要的index.php配置文件使用:Require_Once给PHP除零错误

require_once __DIR__/application/common/config/Config.php; 

然而,PHP错误日志状态被零除。完整路径是/var/www/application/common/config/Config.php

如何确保此路径在我的require_once语句中是正确的?

回答

2

您需要使用引号在PHP中的字符串...

require_once __DIR__ . '/application/common/config/Config.php'; 
2

出现这种情况是因为一系列的PHP设计错误。

  • PHP将它不知道的每个符号转换为一个字符串,除了它有一个前导的大写字母,它将是一个常量。
  • 未定义的常量是NULL
  • 当您对字符串尝试任何数学运算时,它将转换为整数。
    • "123"将123
    • "123 abc"将123以及
    • ​​将为0
  • 当您尝试在NULL任何数学运算,它就会转化为0

所以会发生什么呢,PHP计算"yourdirectory"/0/0/0/0,这是一个零除。 (ouch!Did I already tell you that PHP is a broken language?

只要将字符串放在引号中。

require_once __DIR__."/application/common/config/Config.php"; 
2
require_once __DIR__ . '/application/common/config/Config.php'; 

应工作? “。”连接字符串。基本上“dir”(加号)'其他值'。而其他值需要用引号括起来,否则将以“/”作为基本的数学运算符,从而试图在声明的其余部分将所有内容除以0。

(require_once DIR/0/0/0/0),你不能除以0)