2014-09-19 55 views
0

我的问题是下一个,需要使用谷歌API的PHP库

我试图使用OAuth 2.0功能的谷歌登录融入我公司的后端路径不工作。

我测试了我的域名,www.gabrielestevez.com,这里的一切都运行完美,没有与需要的路径没有问题,一切smothly运行

但是,该公司后端目录结构如下 enter image description here

我使用我开发的MVC框架,在Google_SL.php文件包含在那里我做第一个就是两条require_once

require_once 'Google/Client.php'; 
require_once 'Google/Service/Oauth2.php'; 

工作正常类,但是当它进入client.php并试图加载该类

require_once 'Google/Auth/AssertionCredentials.php'; 

不工作,这是在脚本中发生 错误“错误的/ home/XXX /的public_html /管理/ HMF/Core/library/auth/Google/Client.php'在线18:require_once(Google/Auth/AssertionCredentials.php)[function.require-once]:未能打开流:没有这样的文件或目录 日期/时间:9 -19-2014 11点50分29秒

,我不想这个库中手动改变所有的路径,因为我知道有必须是一个更好的解决这个

任何输入赞赏。

+0

显然,问题在于您使用的是相对路径。唯一的解决办法是改变文件的包含方式,我想你可以使用自动加载器,或者你可以用正确的方式(IMO)来做,并定义一个基本路径,然后连接从那里的包含路径。 – Ohgodwhy 2014-09-19 16:57:07

+0

你能否解释一下或者指向我可以查看这个链接的链接,顺便说一句,我总是用亲戚路径 – 2014-09-19 18:04:23

+0

挣扎一下,什么是IMO? – 2014-09-19 18:04:41

回答

1

以供将来参考

我固定使用这个 通过set_include_path($ _ SERVER [ 'DOCUMENT_ROOT']我的问题。“/管理/ HMF /核心/ library/auth /'。PATH_SEPARATOR。get_include_path());

0

尝试使用__DIR__获取脚本的当前目录。不完全知道在您AssertionCredentials.php是的,但你可以试试

require_once(__DIR__ . '/Google/Auth/AssertionCredentials.php'); 
+0

这是我不想做的事情,我将不得不为此做所有的文件,并且非常耗时 – 2014-09-19 18:02:34

+0

我以为你只需要改变client.php?所以你的AssertionCredentials.php需要在多个地方?希望这只会影响你的应用程序的一小部分。 – 2014-09-19 18:15:11

+0

谢谢,我刚刚发现我的问题的解决方案使用 – 2014-09-19 21:55:38