0

我试图通过使用以下方法在 index.php 中需要一个配置文件:

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

但是,PHP 错误记录状态除以零。完整路径是 /var/www/application/common/config/Config.php

如何确保这条路径在我的 require_once 语句中正确表示?

4

3 回答 3

2

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

require_once __DIR__ . '/application/common/config/Config.php';
于 2012-07-30T22:32:23.527 回答
2

发生这种情况是因为 PHP 中的一系列设计错误。

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

那么会发生什么,PHP 计算"yourdirectory"/0/0/0/0,这是除以零。(哎哟! 我是不是已经告诉过你 PHP 是一门坏掉的语言了?

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

require_once __DIR__."/application/common/config/Config.php";
于 2012-07-30T22:32:45.803 回答
2
require_once __DIR__ . '/application/common/config/Config.php';

那应该有效吗?这 ”。” 连接字符串。基本上是“ dir ”(加)“其他值”。并且其他值需要用引号引起来,否则它将把“/”作为基本的数学运算符,从而在语句的其余部分尝试将所有内容除以 0。

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

于 2012-07-30T22:32:54.243 回答