这里有三个可能的解决办法。 第二种是真正公正的工作,以cl的方式使用绝对道路。
<>strong>: chdir into the originalDirectory
<?php
// check if the StoredProcedure folder exists in the current directory
// while it doesn t exist in the current directory, move current
// directory up one level.
//
// This while loop will keep moving up the directory tree until the
// current directory contains the StoredProcedure folder.
//
while (! file_exists( StoredProcedure ) )
chdir( .. );
include_once "StoredProcedure/connect.php";
// ...
?>
请注意,只有您能工作,才有工作要做。 库存处理器是可能需要列入其中档案的任何档案的最主要目录。
<>2:使用绝对路径
现在,你说这不可行,这实际上取决于你如何执行。 这里的一个例子是与阿帕奇合作:
<?php
include_once $_SERVER[ DOCUMENT_ROOT ] . "/StoredProcedure/connect.php";
// ...
?>
或者,还有一刀切,将以下内容放入根名录:
php_value auto_prepend_file /path/to/example.php
然后是例子。 php:
<?php
define( MY_DOC_ROOT , /path/to/docroot );
?>
最后,在你档案中:
<?php
include_once MY_DOC_ROOT . "/StoredProcedure/connect.php";
// ...
?>
<>strong>3: Set PHP s include_path
见http://uk.php.net/manual/en/ini.core.php#ini.include-path>。 包括_path Directive在内的人工输入。 如果你没有机会进入php.ini,那么这可以安排在www.htaccess上,如果你使用阿帕奇和PHP,则安装在CGI上not。
php_value include_path /path/to/my/includes/folder:/path/to/another/includes/folder