我的网站上有一个特定目录的问题,它无法找到我在根目录之外的包含的php文件。令我感到困惑的是,这适用于此目录之外的其他每个页面,但此特定目录不会自行设置。我在php.ini中设置了包含路径,如下所示:
include_path = ".:/home1/(username)/inc:/usr/php/54/usr/lib64:/usr/php/54/usr/share/pear"
我尝试访问的文件位于" inc"夹。
我正在运行的文件中的所有内容都是include_once ('include.php');
应该根据php.ini设置在inc
目录中找到正确的文件。
我尝试了几种不同的方法来解决这个问题,包括像这样设置包含路径:
include (dirname($_SERVER['DOCUMENT_ROOT'].'/inc/include.php');
也无法找到正确的文件。
除了更改位于该文件夹中的.htaccess以手动设置该特定目录的包含路径。
# ALLOW USER BY IP
<Limit GET POST>
order deny,allow
deny from all
allow from (ip of cron server)
</Limit>
# PREVENT VIEWING OF .HTACCESS
<Files .htaccess>
order allow,deny
deny from all
</Files>
#Set include path
php_value include_path ".:/home1/(username)/inc"
我不确定我是否正确使用了.htaccess,但该方法在error.log文件中也产生了同样的错误。
继承error.log文件:
[05-Jul-2015 15:50:01] PHP Warning: include_once(include.php) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /home1/(username)/public_html/audit/check_expired_email_keys.php on line 7
[05-Jul-2015 15:50:01] PHP Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening 'include.php' for inclusion (include_path='.:/usr/lib64/php:/usr/share/pear') in /home1/(username)/public_html/audit/check_expired_email_keys.php on line 7
[05-Jul-2015 15:50:01] PHP Fatal error: Call to a member function query() on a non-object in /home1/(username)/public_html/audit/check_expired_email_keys.php on line 9
我现在不知道为什么这个目录的行为不像网站的其他部分那样。
任何形式的建议在这里都会有所帮助。
提前致谢
::编辑::问题通过将cronjobs直接移动到超级根目录包来解决。