繁体   English   中英

PHP的require_once找不到绝对路径的文件?

[英]php require_once not finding file with absolute path?

我刚刚开始设置google ads php库,马上就遇到了非常令人沮丧的麻烦。

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

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

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

当我运行此php文件时,出现此错误:

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

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

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

不知道这是怎么回事。 有人可以帮忙吗?

我知道这很快,但是我想我会将答案发布给遇到此问题的其他任何人。

PHP无法访问/ var / lib中的文件,我发现该文件是由php.ini中的open_basedir行设置的,因此我在该行中添加了/ var / lib,并且一切正常。

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

希望这可以帮助某人!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM