所以我的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
。
如何添加此路径以便在任何脚本中默认使用?
答案 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。将其设置为相关文件,它应该加载,就好像包含在每个脚本中一样。