默认情况下为所有脚本包含PHPWhoIs

时间:2012-01-04 23:54:25

标签: php configuration include-path

所以我的PHPWhoI位于我服务器根目录的plugins/phpwhois-4.2.2

我可以在php脚本中使用Whois()类,包括:

include_once('../../../plugins/phpwhois-4.2.2/whois.main.php');

$whois = new Whois();

但我正在尝试让我的服务器默认包含此文件。我已经尝试将其添加到我的php.ini

include_path=".:/plugins/phpwhois-4.2.2/whois.main.php"

并确认已使用var_dump(ini_get('include_path'));,但后来表示课程Whois()不存在。

我还注意到我正在覆盖默认的include_path

如何添加此路径以便在任何脚本中默认使用?

3 个答案:

答案 0 :(得分:3)

包含路径用于告诉PHP在代码中使用include时要查看的位置,因此它是一个目录列表...它不会自动为您执行包含

所以用

include_path=".:/plugins/phpwhois-4.2.2

在你的php.ini中,然后

include "whois.main.php" 

将成功找到要包含的文件

您可以查看auto_prepend_file ini设置,但要在脚本主体之前包含特定的php文件

答案 1 :(得分:1)

这里的真正问题是您不想编写包含该文件的路径。请改用autoloader

如果您仍然需要设置默认包含路径,我建议您只需回显脚本中的当前包含路径,然后在php.ini中使用它,添加plugins目录或其他任何内容基地包括路径。将此与自动装带器配合使用非常有效。

然后在您的包含路径中,设置setup.php并使用它来设置自动加载器。现在,在您的任何网页上,您的包含只是require 'setup.php';

答案 2 :(得分:0)

您正在更改的“include_path”参数是错误的,但名称确实表明它是相关的。它实际上用于设置包含文件的默认目录 - 许多人更喜欢他们的包含超出他们通常的网站空间,以防止它们脱离上下文,以及其他原因。 / p>

我相信你需要设置的参数是auto_prepend_file。将其设置为相关文件,它应该加载,就好像包含在每个脚本中一样。