php require_once没有找到绝对路径的文件?

时间:2014-11-20 17:34:02

标签: php require require-once

我刚刚开始设置谷歌广告php库,并且马上就有了令人沮丧的麻烦。

我正在运行Arch Linux,我的所有文件都在/ var / lib / googleads

尝试运行GetRefreshToken.php,它需要在同一目录中有一个名为init.php的文件。这是这一行:

require_once dirname(__FILE__) . '/init.php';

当我运行这个php文件时,我收到此错误:

  

致命错误:require_once():在/ var / lib中打开所需的'/var/lib/googleads/examples/AdWords/Auth/init.php'(include_path ='。:/ usr / share / pear')失败第30行/googleads/examples/AdWords/Auth/GetRefreshToken.php

即使您可以清楚地看到,它正在寻找的绝对路径是正确的,我现在甚至将它设置为777权限。

  

-rwxrwxrwx 1 root root 1.4K Nov 20 10:17 /var/lib/googleads/examples/AdWords/Auth/init.php

不知道这里发生了什么。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

我知道这很快,但我想我会为遇到这个问题的其他人发布答案。

PHP无法访问/ var / lib中的文件,我发现这是由php.ini中的open_basedir行设置的,所以我将/ var / lib添加到该行,所有这些都正常工作。

  

open_basedir = / var / www:/ home /:/ tmp /:/ usr / share / pear /:/ var / named /:/ root /:/ var / lib /:

希望这可以帮助有人继续前进!

答案 1 :(得分:-1)

将此(include_path='.:/usr/share/pear')更改为init.php中的正确路径或GetRefreshToken.php